通常,在输入字符,判断何时结束时一般都是按#键结束(或者其他的一些按键) ,这样虽然大多数情况下不会有问题,但是如果判断结束的字符时我们要输入的呢?这不就输入不了吗?如果输入是来自文件·,则可以使用检测文件尾(EOF)来判断是否结束输入,不过c++还可以用键盘模拟文件尾,过程是这样的,检测到EOF后,cin将两位(eofbit和failbit)都设置为1。可以通过成员函数eof()看eofbit是否被设置,如果检测到EOF,cin.eof()返回ture;同样,用cin.fail()的话,返回true;一般使用较多的是fail(),因为fail()可以用于更多的实现
# include <iostream>
using namespace std;
int main()
{ char ch;
int count=0;
cin.get(ch); //cin不会识别空格,tab,换行等空白键
while(cin.fail()==false)//当没有检测到EOF,循环
{
count++;
cout<<ch;
cin.get(ch);
}
cout<<endl<<count<<"characters\n";
//结束输入时,按下ctrl+z,然后按回车
system("pause");
return 0;
}