首先,對不好的英語感到抱歉。好吧,我想讀在使用該程序變量obj文件(見here),並將它們存儲的值:使用C++讀取和存儲來自.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;
}
的文件,這只是一個簡單的立方體,通過攪拌機出口。我希望他給我看所有以「v」開頭的行,但結果只顯示奇數的「v」行。當我直接讀取變量「line」的值時,結果是一樣的。但是,當我刪除將值賦予變量「value」並直接讀取變量「line」的行時,該程序完美工作。任何人都知道向我解釋發生了什麼?爲什麼程序忽略了偶數行?
的問題是,'getline'讀取一行,然後你讀取下一行,當你做'MYFILE >> V >> valuesX [N] >> valuesY [n] >> valuesZ [n];'。 –