【发布时间】:2012-07-25 14:15:51
【问题描述】:
我正在尝试编写一个 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));
【问题讨论】:
-
coord未在附加代码 sn-p 中声明。
标签: c++ parsing istringstream