Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ fgetwc(3S) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

feof(3S)

ferror(3S)

fopen(3S)

lfs(5)

stdio(5)

wchar(5)

fgetwc(3S)                                                       fgetwc(3S)

NAME
     fgetwc, getwc, getwchar - Wide-Character-Wert vom Stream lesen

SYNTAX
     cc [option ...] datei ... -lw [bibliothek ...]

     #include <stdio.h>
     #include <wchar.h>

     wintt fgetwc(FILE *stream);

     wintt getwc(FILE *stream);

     wintt getwchar(void);

BESCHREIBUNG
     Die Funktion fgetwc() holt das nächste Zeichen (falls vorhanden) von
     dem Eingabe-Stream, auf den stream zeigt, wandelt es in den entspre-
     chenden Wide-Character-Wert um und bewegt den zugeordneten Schreib-
     /Lesezeiger für den Stream weiter (falls dieser definiert wurde).

     Wenn ein Fehler auftritt, ist der Wert des Schreib-/Lesezeigers für
     den Stream nicht definiert. Die Funktionen ferror() bzw. feof() müssen
     verwendet werden, um zwischen einer Fehlerbedingung und einer Datei-
     ende-Bedingung zu unterscheiden.

     Die Funktion getwc() entspricht der Funktion fgetwc() mit dem Unter-
     schied, daß sie, wenn sie als Makro implementiert wird, stream mehr-
     mals evaluieren kann. Das Argument sollte also niemals ein Ausdruck
     mit Seiteneffekten sein. Insbesondere wird getwc(*f++) wahrscheinlich
     nicht wie erwartet funktionieren. Daher wird die Verwendung dieser
     Funktion nicht empfohlen. Statt dessen sollte die Funktion fgetwc()
     verwendet werden.

     Der Funktionsaufruf getwchar() entspricht getwc(stdin). Wenn der von
     getwchar() zurückgegebene Wert in einer Variablen vom Typ wchart
     abgelegt wird und dann mit dem wintt-Macro WEOF verglichen wird, ist
     der Vergleich unter Umständen niemals erfolgreich.

     Die Funktionen können das Feld statime der Datei, die dem Stream
     zugeordnet ist, zur Aktualisierung kennzeichnen. Das Feld statime
     erhält eine Kennzeichnung zur Aktualisierung durch die erste erfolg-
     reiche Ausführung von fgetc(), fgetws(), fread(), fscanf(), getc(),
     getchar(), gets() oder scanf() mit stream, die Daten zurückgibt, die
     nicht von einem vorherigen Aufruf von ungetc() oder ungetwc() gelie-
     fert werden.









Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

fgetwc(3S)                                                       fgetwc(3S)

FEHLER
     Die folgenden Beschreibungen der Fehlercodes sind funktionsspezifisch.
     Eine allgemeingültige Beschreibung finden Sie in introprm2(2) bzw. in
     errno(5).

     Die Funktion fgetwc() schlägt fehl, wenn Daten gelesen werden müssen
     und:

     EAGAIN      Das Flag ONONBLOCK wird für den stream zugrundeliegenden
                 Dateideskriptor gesetzt. Es tritt für den Prozeß eine Ver-
                 zögerung bei der Operation fgetwc() ein.

     EBADF       Der dem Stream zugrundeliegende Dateideskriptor ist kein
                 gültiger Dateideskriptor, der für das Lesen geöffnet ist.

     EINTR       Die Leseoperation wurde aufgrund des Empfangs eines Sig-
                 nals beendet. Es wurden keine Daten übertragen.

     EIO         Ein E/A-Fehler trat während des Lesens oder Schreibens im
                 Dateisystem auf, oder der Prozeß ist in einer Hinter-
                 grund-Prozeßgruppe, die versucht, vom steuernden Terminal
                 zu lesen. Der Prozeß ignoriert oder blockiert das Signal
                 SIGTTIN, oder die Prozeßgruppe ist verwaist. Dieser Fehler
                 kann auch aus implementationsabhängigen Gründen generiert
                 werden.

     EOVERFLOW   Die Datei ist eine reguläre Datei, und es wurde versucht,
                 Daten am oder nach dem Offset-Maximum zu lesen, das dem
                 zugehörigen Stream zugeordnet ist.

     Die Funktion fgetwc() kann fehlschlagen, wenn:

     ENOMEM      Nicht genügend Speicher verfügbar.

     ENXIO       Anforderung eines nicht existierenden Geräts bzw. Anforde-
                 rung jenseits der Leistungsgrenzen des Geräts.

     EILSEQ      Die Daten vom Eingabe-Stream ergeben kein gültiges Zei-
                 chen.

ERGEBNIS
     Bei erfolgreicher Beendigung gibt die Funktion fgetwc() den Wide-
     Character-Wert (Typ wintt) des Zeichens zurück, das von dem Eingabe-
     Stream gelesen wurde, auf den stream zeigt. Wenn der Stream am Datei-
     ende angelangt ist, wird die Dateiende-Anzeige für den Stream gesetzt.
     fgetwc() gibt WEOF zurück. Wenn ein Lesefehler auftritt, wird die Feh-
     leranzeige für den Stream gesetzt, fgetwc() gibt einen Nullzeiger
     zurück und setzt errno auf den Fehler.

SIEHE AUCH
     feof(3S), ferror(3S), fopen(3S), lfs(5), stdio(5), wchar(5).



Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026