我遇到以下代碼段的問題。ifstream變量不能讀取正確的字符1
我具有被稱爲與字符數組FileName
的文件。該文件基本上可以是任何東西,但在我的情況下,它是一個文件,在第一行包含一些不相關的文本,然後在一個情況下以1(一)開頭,在許多其他情況下以0(零)開頭。所以,我的文件是這樣的:
iewbFLUW 82494HJF VROIREBURV.TEXT
0 TEST whatever something
0 TEST words and more
1 TEST something something
0 TEST oefeowif
...
我的代碼片段的意圖是,它選擇用1(一)選擇的行。
// the stream object for my file:
string FileName = "myFile.text";
ifstream input(FileName);
// parsing the first line
char comment[1000];
input.getline(comment, 1000, '\n');
cout << comment << endl;
// parsing the other lines
bool select=false;
while (!input.eof())
{
input >> select;
cout << select << endl;
if(select){
// do something
}
}
然而,雖然FileName
開始以0(零)的第二行中,可變select
原來行input >> select;
後立即具有值1這怎麼可能?
請提供[SSCCE](HTTP ://sscce.org)。 – NathanOliver
使用'while(!input.eof())'是錯誤的。改用'while(輸入>>選擇)'代替。 – wilx
0(零)是什麼意思?一個ASCII或二進制值? – marom