Namespaces
Variants

fgetwc, getwc

From cppreference.net
< c ‎ | io
Definiert in Header <wchar.h>
wint_t fgetwc ( FILE * stream ) ;
(seit C95)
wint_t getwc ( FILE * stream ) ;
(seit C95)

Liest das nächste Breitzeichen aus dem gegebenen Eingabestream. getwc ( ) kann als Makro implementiert werden und kann stream mehr als einmal auswerten.

Inhaltsverzeichnis

Parameter

stream - zum Lesen des Breitzeichens aus

Rückgabewert

Das nächste Breitzeichen aus dem Stream oder WEOF bei Fehler.

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

Wenn ein Kodierungsfehler auftritt, wird zusätzlich errno auf EILSEQ gesetzt.

Beispiel

#include <stdio.h>
#include <stdlib.h>
#include <wchar.h>
#include <errno.h>
#include <locale.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);
}

Ausgabe:

кошка

Referenzen

  • 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.24.3.1 Die fgetwc-Funktion (S: 367)
  • 7.24.3.6 Die getwc-Funktion (S: 369)

Siehe auch

liest ein Zeichen aus einem Dateistrom
(Funktion)
(C95)
liest eine Breitzeichen-Zeichenkette aus einem Dateistrom
(Funktion)
schreibt ein Breitzeichen in einen Dateistrom
(Funktion)
(C95)
gibt ein Breitzeichen an einen Dateistrom zurück
(Funktion)