fgetwc, getwc
Von de.cppreference.net
| 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
Diesen Code ausführen
#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) |
(C95) |
schreibt ein breites Zeichen in einen Dateistrom (Funktion) |
(C95) |
legt ein breites Zeichen zurück in einen Dateistrom (Funktion) |
C++-Dokumentation für fgetwc
| |