std::basic_ios<CharT,Traits>::operator!

出自cppreference.com
< cpp‎ | io‎ | basic ios
 
 
 
 
bool operator!() const;

若關聯流上已出現錯誤則返回 true。明確的說即若 rdstate() 中設置了 failbitbadbit 則返回 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