-1
В настоящее время я пишу программу, которая записывает 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 все еще записывается в мой файл. Как я могу остановить это так, никакого couts не в цикле нормально и печати назад к терминальным
Заранее спасибо
'if (cin.fail()) // пользователь нажал control-D' Существует множество причин' cin.fail() 'истинно в стороне от указанного условия !! –
Не используйте 'freopen', вы теряете поток стандартного вывода. Вместо этого замените бункер stream-buffer 'cout' и замените его обратно. (Предполагается, что вы используете только 'cout', а не' stdout'.) – Deduplicator