Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ fputwc(3S) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ferror(3S)

fopen(3S)

setbuf(3S)

lfs(5)

stdio(5)

wchar(5)

fputwc(3S)                                                       fputwc(3S)

NAME
     fputwc, putwc, putwchar - Wide-Character-Wert in einen Stream schrei-
     ben

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

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

     wintt fputwc(wintt wc, FILE *stream);

     wintt putwc(wintt wc, FILE *stream);

     wintt putwchar(wintt wc);

BESCHREIBUNG
     Die Funktion fputwc() schreibt das Zeichen, das dem Wide-Character-
     Wert wc entspricht, in den Ausgabe-Stream, auf den stream zeigt. Das
     Zeichen wird an die Position geschrieben, die durch den zugehörigen
     Schreib-/Lesezeiger für den Stream angegeben ist (falls dieser defi-
     niert wurde). Der Zeiger wird entsprechend weiterbewegt. Wenn die
     Datei Positionierungsanforderungen nicht unterstützt oder der Stream
     im Modus "Append" geöffnet wurde, wird das Zeichen an den Ausgabe-
     Stream angehängt.

     Die Funktion putwc() entspricht der Funktion fpuwc() mit dem Unter-
     schied, daß sie, wenn sie als Makro implementiert wird, stream mehr-
     mals evaluieren kann. Das Argument sollte niemals ein Ausdruck mit
     Nebeneffekten sein. Die Funktion putwc() bearbeitet Stream-Argumente
     mit Nebeneffekten unter Umständen nicht korrekt, da sie als Makro
     implementiert werden kann. Insbesondere putwc(wc, *f++) funktioniert
     vermutlich nicht wie erwartet. Daher wird die Verwendung dieser Funk-
     tion nicht empfohlen. Statt dessen sollte fputwc() verwendet werden.

     Der Funktionsaufruf putwchar(wc) entspricht putwc(wc, stdout).

     Die Felder stctime und stmtime der Datei erhalten eine Kennzeichnung
     zur Aktualisierung zwischen der erfolgreichen Ausführung von fputwc()
     und der nächsten erfolgreichen Beendigung eines Aufrufs von fflush()
     oder fclose() auf dem gleichen Stream oder einem Aufruf von exit()
     oder abort().

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

     Die Funktion fputwc() schlägt fehl, wenn der Stream nicht gepuffert
     ist oder Daten im Puffer des stream geschrieben werden müssen und eine
     der folgenden Bedingungen vorliegt:




Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

fputwc(3S)                                                       fputwc(3S)

     EAGAIN    Das Flag ONONBLOCK wird für den stream zugrundeliegenden
               Dateideskriptor gesetzt. Es tritt für den Prozeß eine Verzö-
               gerung bei der Schreiboperation ein.

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

     EFBIG     Es wurde versucht, in eine Datei zu schreiben, die die maxi-
               male Dateigröße oder die Dateigrößenbegrenzung des Prozesses
               überschreitet [siehe ulimit(2)].

     EFBIG     Die Datei ist eine reguläre Datei, und es wurde versucht,
               Daten am oder über das Offset-Maximum hinaus zu schreiben,
               das dem zugehörigen Stream zugeordnet ist.

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

     EIO       Ein physischer Ein-/Ausgabefehler ist aufgetreten, oder der
               Prozeß ist Teil einer Prozeßgruppe im Hintergrund, die ver-
               sucht, auf das steuernde Terminal zu schreiben. TOSTOP wird
               gesetzt, weder ignoriert noch blockiert der Prozeß SIGTOU,
               und die Prozeßgruppe des Prozesses ist verwaist. Dieser Feh-
               ler kann auch aus implementierungsabhängigen Gründen gene-
               riert werden.

     ENOSPC    Kein freier Bereich auf dem Gerät, das die Datei enthält.

     EPIPE     Es wird versucht, in eine Pipe oder FIFO zu schreiben, die
               für keinen Prozeß zum Lesen geöffnet ist. Ein Signal SIGPIPE
               wird auch an den Prozeß gesendet.

     Die Funktion fgetwc() kann bei einer der folgenden Bedingungen fehl-
     schlagen:

     ENOMEM    Nicht genügend Speicher verfügbar.

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

     EILSEQ    Der Wide-Character-Wert wc entspricht keinem gültigen Zei-
               chen.

ERGEBNIS
     Bei erfolgreicher Beendigung gibt fputwc() wc zurück. Andernfalls wird
     WEOF zurückgegeben, die Fehleranzeige für den Stream gesetzt, und
     errno zur Anzeige des Fehlers gesetzt.

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



Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

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