注册 登录
编程论坛 C++教室

用文件结束符结束 while 语句后,为什么不能继续读入

魏则西 发布于 2014-11-14 18:15, 357 次点击
#include<iostream>
#include<string>
#include<Windows.h>
using std::cin;
using std::cout;
using std::endl;
using std::string;
int main()
{
    string s1,s2;
*    while(getline(cin,s1))
        cout<<s1<<endl;
*    while(cin>>s1)
            cout<<s1<<endl;
    system("pause");
    return 0;
}
用ctrl+Z结束第一个while语句后,程序为什么不接着执行第二个while语句,而是直接结束
1 回复
#2
stop12042014-11-15 01:53
输入ctrl+z 相当于EOF
即会将cin的eofbit和failbit都设置为1
即 文件结束标志与错误状态.
1