我使用以下代码:
#include <stdio.h>
#include <iostream>
using namespace std;
int main ()
{
char c ;
c = cin.get() ;
do {
cout.put(c) ;
c = cin.get() ;
} while ( !cin.eof()) ;
cout << "coming out!" << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
上面代码的问题是,它没有脱离循环,这意味着它不打印"出来".任何人都可以帮忙为什么会这样?我在mac和linux上测试这个程序.
谢谢
如果它获得文件结尾,它会打印出"".如果您将文件重定向到它,它将退出循环
./program < file
Run Code Online (Sandbox Code Playgroud)
或者通过点击ctrl + d(linux)或ctrl + z(dos)自己发送文件结尾