我試圖做一些文件讀/寫的東西,我無法運行我的第二個getline命令。任何想法爲什麼發生這種情況?getline函數奇怪的錯誤
char str[80];
char substr[10];
file.open("abc.txt", fstream::in);
file.getline(str,'\n');
while(!file.eof())
{
i=0;
while(str[i]!='\n') {substr[i] = str[i++]; }
substr[i++]='\n';
cout<<substr;
file.getline(str,'\n');
}
的abc.txt
AND 1 2 3
NAND 4 5 6
NOR 2 3 7
XOR 1 6 8
OR 8 7 9
我用記事本++創建的txt文件,所以敢肯定有每行
你能打印abc.txt的內容嗎?如果只有一行,它將不會運行循環 –
['雖然!eof'幾乎總是錯的。](http://www.parashift.com/c++-faq-lite/input-output.html #faq-15.5)在這種情況下,你實際上並沒有濫用它,但我仍然不推薦這樣做。另外,'std :: string'有什麼問題? –
「無法運行」是什麼意思? _怎麼了? –