今天看了一个程序,感觉很奇怪,如下:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string value;
while( cin>>value )
{
;
}
cout<<"end input"<<endl;
return 0;
}
用户不断的从键盘输入,无法退出。
刚开始我认为是Ctrl+C,但是发现按下Ctrl+C之后,程序直接退出,并没有之后面的cout<<"end input"<<endl。
于是在网上搜了一下,发现cin连接的是键盘,又称标准输入流。当碰到end_of_file,即文件结尾的时候会返回假值。因此我们只需要输入一个模拟end-of-file的值即可。这个值在linux下面是Ctrl+D。看到了吧,程序结束了。并且输出了end input。