我正在學習C++ Primer第4版,並正在使用IO流。當我試圖運行書中的代碼(頁289):詢問和控制流的狀態
#include <iostream>
#include <string>
using namespace std;
int main()
{
int ival;
// read cin and test only for EOF; loop is executed even if there are
// other IO failures
while (cin >> ival, !cin.eof()){
if (cin.bad()) // input stream is corrupted; bail out
throw runtime_error("IO stream corrupted");
if (cin.fail()){
cerr << "bad data, try again\n";
cin.clear(istream::failbit);
continue;
}
//ok to process ival
}
}
我輸入一個字符串(說「是」)後,遇到了一個無限循環。那麼這個代碼有什麼問題?
你說「C++ Primer第4版」。請通過提供一個作者姓名(&理想的是一個ISBN)來消除歧義 –