将cout写入文件然后返回终端

时间:2014-11-21 02:08:17

标签: c++ file cout freopen

我正在编写一个程序,将cout写入文件,直到用户按下控件D.之后我想再次cout到终端。这是我的代码示例

freopen(outputfile,"w",stdout);

for(;;)
{
    if(cin.fail())    //user pressed control-D
    {
    break;
    }
string s;
cin >> s;
cout << s << endl;
}

cout << "COMPLETE" << endl;

“COMPLETE”cout仍在写入我的文件。如何阻止这一点,以便任何不在循环中的cout正常并打印回终端

提前致谢

1 个答案:

答案 0 :(得分:0)

解决。我想要的是这个

ofstream tempfile;
tempfile.open ("temp.txt");

for(;;)
{
    if(cin.fail())
    {
    break;
    }
string s;
cin >> s;
tempfile << s << endl;  
}
tempfile.close();
cout << "COMPLETE" << endl;