我希望我的程序从标准输入读取直到 EOF,打印所有输入,然后重复。我尝试清除 stdin 的 EOF 状态,如下所示:
#include <string>
#include <iostream>
#include <iterator>
using namespace std;
int main() {
cin >> noskipws;
while (1) {
printf("Begin");
istream_iterator<char> iterator(cin);
istream_iterator<char> end;
string input(iterator, end);
cout << input << endl;
cin.clear();
}
}
然而,在接收并打印第一个输入之后,程序只是无限打印“Begin”而不等待进一步的输入。