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 .
|