std::basic_ios<CharT,Traits>::operator!
出自cppreference.com
bool operator!() const; |
||
若關聯流上已出現錯誤則返回 true。明確的說即若 rdstate() 中設置了 failbit
或 badbit
則返回 true。
目錄 |
[編輯] 參數
(無)
[編輯] 返回值
若已出現錯誤則為 true,否則為 false。
[編輯] 示例
運行此代碼
#include <cstdlib> #include <fstream> #include <iostream> int main() { std::ifstream file("test.txt"); if (!file) // 此处使用了 operator! { std::cout << "文件打开失败\n"; return EXIT_FAILURE; } // 典型的 C++ I/O 循环以 I/O 函数的返回值为循环控制条件, // 此处使用了 operator bool() for (int n; file >> n;) std::cout << n << ' '; std::cout << '\n'; if (file.bad()) std::cout << "读取时发生了 I/O 错误\n"; else if (file.eof()) std::cout << "成功抵达文件末尾\n"; else if (file.fail()) std::cout << "遇到了非整数数据\n"; }
[編輯] 參閱
下表顯示 basic_ios
訪問器(good()、fail() 等)對於 ios_base::iostate 標誌的所有可能組合的值:
ios_base::iostate 標誌 | basic_ios 訪問器
| |||||||
eofbit
|
failbit
|
badbit
|
good() | fail() | bad() | eof() | operator bool | operator! |
false | false | false | true | false | false | false | true | false |
false | false | true | false | true | true | false | false | true |
false | true | false | false | true | false | false | false | true |
false | true | true | false | true | true | false | false | true |
true | false | false | false | false | false | true | true | false |
true | false | true | false | true | true | true | false | true |
true | true | false | false | true | false | true | false | true |
true | true | true | false | true | true | true | false | true |