Namensräume
Varianten
Aktionen

std::basic_ios<CharT,Traits>::eof

Von cppreference.com
< cpp‎ | io‎ | basic ios
 
 
 
 
bool eof() const;

Gibt true zurück, wenn der zugehörige Stream das Dateiende erreicht hat. Spezifisch gibt es true zurück, wenn eofbit in rdstate() gesetzt ist.

Siehe ios_base::iostate für die Liste der Bedingungen, die eofbit setzen.

Inhalt

[bearbeiten] Parameter

(keine)

[bearbeiten] Rückgabewert

true, wenn das Dateiende aufgetreten ist, andernfalls false.

[bearbeiten] Hinweise

Diese Funktion meldet nur den Stream-Status, wie er durch die letzte I/O-Operation gesetzt wurde; sie untersucht nicht die zugehörige Datenquelle. Zum Beispiel, wenn die letzte I/O-Operation ein get() war, das das letzte Byte einer Datei zurückgab, gibt eof() false zurück. Das nächste get() schlägt fehl, nichts zu lesen und setzt das eofbit. Erst dann gibt eof() true zurück.

Bei typischer Verwendung stoppt die Verarbeitung von Eingabestreams bei jedem Fehler. eof() und fail() können dann verwendet werden, um zwischen verschiedenen Fehlerbedingungen zu unterscheiden.

[bearbeiten] Beispiel

#include <cstdlib>
#include <fstream>
#include <iostream>
 
int main()
{
    std::ifstream file("test.txt");
    if (!file) // operator! is used here
    {  
        std::cout << "File opening failed\n";
        return EXIT_FAILURE;
    }
 
    // typical C++ I/O loop uses the return value of the I/O function
    // as the loop controlling condition, operator bool() is used here
    for (int n; file >> n;)
       std::cout << n << ' ';
    std::cout << '\n';
 
    if (file.bad())
        std::cout << "I/O error while reading\n";
    else if (file.eof())
        std::cout << "End of file reached successfully\n";
    else if (file.fail())
        std::cout << "Non-integer data encountered\n";
}

[bearbeiten] Siehe auch

Die folgende Tabelle zeigt die Werte der basic_ios-Accessorfunktionen (good(), fail() usw.) für alle möglichen Kombinationen von ios_base::iostate-Flags

ios_base::iostate Flags basic_ios-Zugriffsfunktionen
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
prüft auf Dateiende
(function) [bearbeiten]