我试图做一些文件读/写的东西,我无法运行我的第二个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'有什么问题? –
“无法运行”是什么意思? _怎么了? –