Namespaces
Variants

std:: fgetc, std:: getc

From cppreference.net
< cpp ‎ | io ‎ | c
Definiert in Header <cstdio>
int fgetc ( std:: FILE * stream ) ;
int getc ( std:: FILE * stream ) ;

Liest das nächste Zeichen aus dem gegebenen Eingabestream.

Inhaltsverzeichnis

Parameter

stream - aus dem der Zeichen gelesen wird

Rückgabewert

Das erhaltene Zeichen bei Erfolg oder EOF bei Fehler.

Wenn der Fehler durch eine Dateiende-Bedingung verursacht wurde, wird zusätzlich der eof -Indikator gesetzt (siehe std::feof() ) auf dem stream . Wenn der Fehler durch einen anderen Fehler verursacht wurde, wird der error -Indikator gesetzt (siehe std::ferror() ) auf dem stream .

Beispiel

#include <cstdio>
#include <cstdlib>
int main()
{
    int is_ok = EXIT_FAILURE;
    FILE* fp = std::fopen("/tmp/test.txt", "w+");
    if (!fp)
    {
        std::perror("File opening failed");
        return is_ok;
    }
    int c; // Hinweis: int, nicht char, erforderlich um EOF zu verarbeiten
    while ((c = std::fgetc(fp)) != EOF) // Standard C I/O Dateileseschleife
        std::putchar(c);
    if (std::ferror(fp))
        std::puts("I/O-Fehler beim Lesen");
    else if (std::feof(fp))
    {
        std::puts("Dateiende erfolgreich erreicht");
        is_ok = EXIT_SUCCESS;
    }
    std::fclose(fp);
    return is_ok;
}

Ausgabe:

Dateiende erfolgreich erreicht

Siehe auch

(in C++11 veraltet) (in C++14 entfernt)
liest eine Zeichenkette von stdin
(Funktion)
schreibt ein Zeichen in einen Dateistrom
(Funktion)
gibt ein Zeichen an einen Dateistrom zurück
(Funktion)
C-Dokumentation für fgetc , getc