-1
현재 사용자가 컨트롤 D를 누를 때까지 파일에 cout을 쓰는 프로그램을 작성 중입니다. 그 후에 터미널에 다시 보내고 싶습니다. 다음은 내 코드 샘플입니다.파일에 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"파일은 여전히 내 파일에 기록됩니다. 어떻게 정상 및 해결 사전
if (cin.fail()) // 사용자가 control-D를 눌렀다. 명시된 조건을 제외하고'cin.fail()'이 참으로 많은 이유가있다 !! –
'freopen'을 사용하지 않으면 표준 출력 스트림이 느슨해집니다. 대신에 스트림 버퍼'cout'을 변경하고, 그것을 뒤에서 바꾸십시오. (이것은 미리'cout'을 사용하고'stdout'을 사용하지 않는다고 가정합니다.) – Deduplicator