1
我想了解更多關於流狀態的信息,並且閱讀heregood()
如果流最近的I/O操作成功完成,則返回true。我曾嘗試以下,如果我理解正確的話,違背了上述說法C++:流輸出操作成功,但狀態不好
#include <iostream>
#include <sstream>
int main() {
std::stringstream ss;
int x;
ss << "42";
ss >> x;
std::cout << x << std::endl; // prints 42 as expected
std::cout << ss.good() << std::endl; // prints 0, expected 1
return 0;
}
有人能解釋,爲什麼流的狀態並不好,即使最後(輸出)操作成功?謝謝
流已經意識到它到達文件結束,所以它不再是「好」。 –
在'>>'的數字超載期間遇到蒸汽末端,請參閱http://en.cppreference.com/w/cpp/io/ios_base/iostate – pat
謝謝大家。我的印象是eofbit只能在下一個字符提取時設置(這是從文件讀取時發生的情況)。 – linuxfever