Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

fgetwc - Langzeichen aus Datenstrom lesen

&pagelevel(4)&pagelevel

Definition

#include <wchar.h>

Optional
#include <stdio.h> (Ende)

wint_t fgetwc(FILE *stream);

Beschreibung

fgetwc() liest das nächste Zeichen aus dem Eingabestrom, auf den stream zeigt, wandelt es in den entsprechenden Langzeichenwert um und bewegt den Lese-/Schreibzeiger für den Datenstrom, falls definiert, weiter.

Wenn ein Fehler auftritt, ist der Wert des Lese-/Schreibzeigers für den Datenstrom nicht definiert.

fgetwc() kann die Strukturkomponente st_atime für die Datei, der stream zugeordnet ist, zum Ändern markieren (siehe sys/stat.h). Die Strukturkomponente st_atime wird aktualisiert, sobald fgetc()fgets(), fgetwc(), fgetws(), fread(), fscanf(), getc(), getchar(), gets() oder scanf() erfolgreich für stream aufgerufen werden und Daten zurückliefern, die nicht durch einen vorangegangenen Aufruf von ungetc() oder ungetwc() bereitgestellt wurden.

Einschränkung
In dieser Version des C-Laufzeitsystems werden nur 1-Byte-Zeichen als Langzeichen unterstützt. Sie sind vom Typ wchar_t (siehe stddef.h). (Ende)

Returnwert

Langzeichenwert vom Typ wint_t



bei erfolgreicher Beendigung.


WEOF

wenn der Datenstrom am Dateiende angelangt ist. Das Dateiendekennzeichen für den Datenstrom wird gesetzt.

 

WEOF

wenn ein Lesefehler auftritt. Die Fehleranzeige für den Datenstrom wird gesetzt. errno wird gesetzt, um den Fehler anzuzeigen.

Fehler

fgetwc() schlägt fehl, wenn gilt:


EAGAIN

Das Flag O_NONBLOCK wird für den Dateideskriptor gesetzt, der stream zu Grunde liegt, und der Prozess würde durch fgetwc() angehalten werden.


EBADF

Der stream zu Grunde liegende Dateideskriptor ist kein gültiger, für das Lesen geöffneter Dateideskriptor


EINTR

Die Leseoperation wurde durch den Empfang eines Signals beendet. Es wurden keine Daten übertragen.


Erweiterung


EINVAL

Es wurde versucht, auf eine BS2000-Datei zuzugreifen. (Ende)

 

EIO

Der Prozess ist Mitglied in einer Hintergrund-Prozessgruppe und versucht, von seinem steuernden Terminal zu lesen. Das Signal SIGTTIN wird vom Prozess entweder blockiert oder ignoriert, oder die Prozessgruppe ist verwaist.

Hinweise

In dieser Version des Laufzeitsystems werden die Langzeichen-Funktionen nur für POSIX-Dateien unterstützt.

ferror() bzw. feof() müssen verwendet werden, um zwischen einer Fehlerbedingung und einer Dateiendebedingung zu unterscheiden.

BS2000

Bei Textdateien mit der Zugriffsart SAM und variabler Satzlänge, für die zusätzlich eine maximale Satzlänge angegeben ist, gilt: Wenn bei fopen() die Angabe split=no gemacht wurde, werden Sätze maximaler Länge beim Lesen nicht mit dem darauffolgenden Satz verkettet. Standardmäßig oder mit der Angabe split=yes wird beim Lesen eines Satzes mit maximaler Satzlänge angenommen, dass es sich bei dem Folgesatz um die Fortsetzung dieses Satzes handelt, und die Sätze werden verkettet. (Ende)

Siehe auch

feof(), ferror(), fgetc(), fopen(), stdio.h, wchar.h.