gpt4 book ai didi

由 C++ istringstream

转载 作者:行者123 更新时间:2023-11-28 03:33:58 26 4
gpt4 key购买 nike

我正在尝试编写一个 C++ opengl 应用程序来加载 .OBJ 文件,我使用这段代码来读取顶点:

char buf[256];
while(!objFile.eof())
{
objFile.getline(buf,256);
coordinates.push_back(new std::string(buf));
}

else if ((*coordinates[i])[0]=='v' && (*coordinates[i])[1]==' ')
{
float tmpx,tmpy,tmpz;
sscanf(coord[i]->c_str(),"v %f %f %f",&tmpx,&tmpy,&tmpz);
vertex.push_back(new coordinate(tmpx,tmpy,tmpz));
cout << "v " << tmpx << " " << tmpy << " " << tmpz << endl;
}

所以基本上第二段代码解析了 obj 文件中的顶点线

v 1.457272 0.282729 -0.929271

我的问题是如何使用 istringstream 解析这个顶点线 c++ 样式下面的代码在 C++ 语法中会转换成什么

sscanf(coord[i]->c_str(),"v %f %f %f",&tmpx,&tmpy,&tmpz);
vertex.push_back(new coordinate(tmpx,tmpy,tmpz));

最佳答案

如果您确定前 2 个字符没有用:

istringstream strm(*coord[i]);
strm.ignore(2);
strm >> tmpx >> tmpy >> tmpz;
vertex.push_back(new coordinate(tmpx, tmpy, tmpz));

关于由 C++ istringstream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11651810/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com