string line;
getline (cin, line);
if(line.empty() && !cin.eof()) continue;
if (cin.eof()) {
if (need_echo) cout << "^D";
cout << endl;
DEBUGF ('y', "EOF");
break;
}
왜 getline(cin, line)
은 빈 줄을 스캔 할 때 거짓 cin.eof
입니까?C++ EOF 빈 라인 혼란
'cin.eof'는 항상 false를 반환해야하며 대신'getline (cin, line)'의 결과를 확인하십시오. –
@ πάνταῥε pipe 파이프가 없거나 사용자가 eof (리눅스 터미널에서 ctrl-d)를 입력하지 않으면 –
@ DieterLücking 예. 그렇기 때문에 설명을 위해 _mould_ 또는 _will_ ... THX가 아닌 _should_를 썼습니다. –