まず、下手な英語でごめんなさい。さて、私は .OBJ ファイルの値を読み取ろうとしています (こちらを参照)。このプログラムを使用して、それらを変数に格納します。
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
using namespace std;
int main()
{
string line;
string v, valuesX[8], valuesY[8], valuesZ[8];
int n = 0;
ifstream myfile ("cubo.obj");
while(!myfile.eof())
{
getline (myfile,line);
if (line[0] == 'v')
{
myfile >> v >> valuesX[n]>> valuesY[n]>> valuesZ[n];
cout << valuesX[n] << "\t" << valuesY[n] << "\t" << valuesZ[n] << endl;
n++;
}
}
return 0;
}
ファイルは、Blender によってエクスポートされた単なる立方体です。彼が「v」で始まるすべての行を表示することを期待していましたが、結果は奇数の「v」行のみを示しています。変数「line」の値を直接読んでも結果は同じです。しかし、変数「value」に値を代入する行を削除し、変数「line」を直接読み取ると、プログラムは完全に動作します。何が起こっているのか説明してくれる人はいますか?プログラムが偶数行を無視するのはなぜですか?