Namespaces
Variants

fgetwc, getwc

Von de.cppreference.net
< C | io
 
 
Datei-Eingabe/Ausgabe
Typen und Objekte
        
Funktionen
Dateizugriff
(C95)
Unformatierte Eingabe/Ausgabe
(C95)(C95)
(C95)
(C95)(C95)
(C95)
(C95)

Formatierte Eingabe
Direkte Eingabe/Ausgabe
Formatierte Ausgabe
Dateipositionierung
Fehlerbehandlung
Operationen auf Dateien
 
Deklariert in der Header-Datei <wchar.h>
wint_t fgetwc( FILE* stream );
(seit C95)
wint_t getwc( FILE* stream );
(seit C95)

Liest das nächste breite Zeichen aus dem angegebenen Eingabestrom. getwc() kann als Makro implementiert sein und kann stream mehrfach auswerten.

Parameter

stream - aus dem das breite Zeichen gelesen werden soll

Rückgabewert

Das nächste breite Zeichen aus dem Strom oder WEOF bei Fehlschlag.

Wenn der Fehler durch eine Dateiende-Bedingung verursacht wurde, setzt er zusätzlich den eof Indikator (siehe feof()) auf stream. Wenn der Fehler durch einen anderen Fehler verursacht wurde, setzt er den error Indikator (siehe ferror()) auf stream.

Wenn ein Kodierungsfehler aufgetreten ist, setzt er zusätzlich errno auf EILSEQ.

Beispiel

#include <errno.h>
#include <locale.h>
#include <stdio.h>
#include <stdlib.h>
#include <wchar.h>

int main(void)
{
    setlocale(LC_ALL, "en_US.utf8");
    FILE* fp = fopen("fgetwc.dat", "w");
    if(!fp)
    {
        perror("Can't open file for writing");
        return EXIT_FAILURE;
    }
    fputs("кот\n", fp);
    fclose(fp);

    fp = fopen("fgetwc.dat", "r");
    if (!fp)
    {
        perror("Can't open file for reading");
        return EXIT_FAILURE;
    }
    wint_t wc;
    errno = 0;
    while ((wc = fgetwc(fp)) != WEOF)
        putwchar(wc);

    if (ferror(fp))
    {
        if (errno == EILSEQ)
            puts("Character encoding error while reading.");
        else
            puts("I/O error when reading");
    }
    else if (feof(fp))
        puts("End of file reached successfully");

    fclose(fp);
}

Mögliche Ausgabe:

кот

Referenzen

  • C23-Standard (ISO/IEC 9899:2024):
  • 7.29.3.1 Die fgetwc-Funktion (S.: TBD)
  • 7.29.3.6 Die getwc-Funktion (S.: TBD)
  • C17-Standard (ISO/IEC 9899:2018):
  • 7.29.3.1 Die fgetwc-Funktion (S.: 307-308)
  • 7.29.3.6 Die getwc-Funktion (S.: 309)
  • C11-Standard (ISO/IEC 9899:2011):
  • 7.29.3.1 Die fgetwc-Funktion (S.: 421-422)
  • 7.29.3.6 Die getwc-Funktion (S.: 424)
  • C99-Standard (ISO/IEC 9899:1999):
  • 7.29.3.1 Die fgetwc-Funktion (S.: 367)
  • 7.29.3.6 Die getwc-Funktion (S.: 369)

Siehe auch

erhält ein Zeichen aus einem Dateistrom
(Funktion)
(C95)
erhält eine breite Zeichenkette aus einem Dateistrom
(Funktion)
schreibt ein breites Zeichen in einen Dateistrom
(Funktion)
legt ein breites Zeichen zurück in einen Dateistrom
(Funktion)
C++-Dokumentation für fgetwc