public member function
<ios> <iostream>

std::basic_ios::eof

bool eof() const;
檢查 eofbit 是否已設定
如果已為流設定了 eofbit 錯誤狀態標誌,則返回 true

所有標準輸入操作在讀取流關聯的序列時到達檔案尾(End-of-File)時,都會設定此標誌。

請注意,此函式返回的值取決於對流執行的最後一次操作(而不是下一次操作)。

嘗試在 *檔案尾* 讀取的操作會失敗,因此 eofbitfailbit 都會被設定。此函式可用於檢查失敗是由於到達 *檔案尾* 還是由於其他原因。

引數



返回值

如果流的 eofbit 錯誤狀態標誌 已設定(這表示最後一次輸入操作已到達檔案尾),則返回 true
否則返回 false

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// ios::eof example
#include <iostream>     // std::cout
#include <fstream>      // std::ifstream

int main () {

  std::ifstream is("example.txt");   // open file

  char c;
  while (is.get(c))                  // loop getting single characters
    std::cout << c;

  if (is.eof())                      // check for EOF
    std::cout << "[EoF reached]\n";
  else
    std::cout << "[error reading]\n";

  is.close();                        // close file

  return 0;
}

資料競爭

訪問流物件。
併發訪問同一個流物件可能導致資料爭用。

異常安全

強保證: 如果丟擲異常,流不會發生任何改變。

另見