c++primier的两个问题
1.
is.setstate(ifstream::badbit | ifstream::failbit);
在论坛里看了还是有些不明白,是不是这个语句可以使is流变为错误状态?
2.
char c;
while(cin>>c , !cin.eof())
{
.....
}
这段代码中cin.eof()到底什么意思,起到什么作用,看论坛也没能看懂,请各位帮帮忙!
[解决办法]
1、setstate()函数并不强制覆盖流的原状态,而是将括号内参数所代表的状态叠加到原始状态上。
2、cin.eof()表示文件结束符,也就是ctrl+z。这条语句的意思是在读到文件结束符之前执行while循环,直到用户输入ctrl+z