Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

fputwc - Langzeichen in Datenstrom schreiben

&pagelevel(4)&pagelevel

Definition

#include <wchar.h>

Optional
#include <stdio.h> (Ende)

wint_t fputwc(wint_t wc, FILE *stream);

Beschreibung

fputwc() schreibt das Zeichen, das dem Langzeichenwert wc entspricht, in den Ausgabestrom, auf den stream zeigt. Das Zeichen wird an die Position geschrieben, die durch den zugehörigen Lese-/Schreibzeiger für den Datenstrom angegeben ist (falls dieser definiert wurde). Der Zeiger wird entsprechend weiterbewegt. Wenn die Datei Positionierungsanforderungen nicht unterstützt oder der Datenstrom im Anfügemodus geöffnet wurde, wird das Zeichen an den Ausgabestrom angehängt. Wenn während der Schreiboperation ein Fehler auftritt, ist der Einfügemodus der Ausgabedatei in einem undefinierten Zustand.

Die Strukturkomponenten st_ctime und st_mtime der Datei werden zwischen der erfolgreichen Ausführung von fputwc() und der nächsten erfolgreichen Beendigung eines Aufrufs von fflush() oder fclose() für denselben Datenstrom oder einem Aufruf von exit() oder abort() für die Änderung markiert (siehe sys/stat.h).

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

wc

bei erfolgreicher Beendigung.

 

WEOF

bei Fehler. Das Fehlerkennzeichen für den Datenstrom wird gesetzt. errno wird gesetzt, um den Fehler anzuzeigen.

Fehler

fputwc() schlägt fehl, wenn der Datenstrom nicht gepuffert ist oder Daten im Puffer von stream geschrieben werden und wenn gilt:

 

EAGAIN

Das Flag O_NONBLOCK wird für den stream zu Grunde liegenden Dateideskriptor gesetzt. Es tritt für den Prozess eine Verzögerung bei der Schreiboperation ein.

 

EBADF

Der dem Datenstrom zu Grunde liegende Dateideskriptor ist für eine Schreiboperation ungültig.

 

EFBIG

Es wurde versucht, in eine Datei zu schreiben, die die maximale Dateigröße oder die Dateigrößenbegrenzung des Prozesses überschreitet (siehe  ulimit()).

 

EINTR

Die Schreiboperation wurde auf Grund des Empfangs eines Signals beendet.
Es wurden keine Daten übertragen.


Erweiterung

 

EINVAL

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

 

EIO

Der Prozess ist Teil einer Hintergrund-Prozessgruppe, die versucht, auf das steuernde Terminal zu schreiben. TOSTOP wird gesetzt. Der Prozess ignoriert oder blockiert dass Signal SIGTOU nicht, und die Prozessgruppe des Prozesses ist verwaist.

 

ENOSPC

Nicht genügend Speicherplatz auf dem Gerät, das die Datei enthält..

 

EPIPE

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

Werden Threads verwendet, so wirkt sich die Funktion auf den Prozess oder auf einen Thread wie folgt aus: Beim EPIPE-Fehler wird das Signal SIGPIPE nicht an den Prozess, sondern an den aufrufenden Thread gesendet.

Siehe auch

ferror(), fopen(), setbuf(), stdio.h, sys/stat.h, wchar.h.