每次读取一个字符,直到遇到EOF的输入循环的基本设计如下:
cin.get(ch);
while (cin.fail() == false)
{
...
cin.get(ch);
}
可以在上述代码中使用一些简捷方式。!操作符可以将true或者false切换为true。可以使用次操作符将while测试改写为
while (!cin.fail())
cin.get(char)方法的返回值是一个cin对象。不过,istream类提供了一个可以将istream对象(如cin)切换为bool值的函数;当cin出现在需要bool值的地方(比如在while循环的测试条件中)时,该转换函数将被调用。另外如果最后一次读取成功了,则转换得到的bool值为true,否则为flase,这意味着可以将上述的while测试改写为这样
while(cin)
这比!cin.fail()和!cin.eof更通用,因为它可以检测到其他失败的原因,比如磁盘故障。
最后&#