fwrite
Schreibt Daten in einen Stream.
Syntax
size_t fwrite(
const void *buffer,
size_t size,
size_t count,
FILE *stream
);
Parameter
buffer
Zeiger auf die zu schreibenden Daten.
size
Elementgröße in Bytes.
count
Maximale Anzahl zu schreibender Elemente.
stream
Zeiger zur FILE
-Struktur.
Rückgabewert
fwrite
gibt die Anzahl der vollständigen Elemente zurück, die die Funktion schreibt, was kleiner sein kann als count
wenn ein Fehler auftritt. Wenn ein Fehler auftritt, kann der Dateipositionsindikator nicht bestimmt werden. Wenn es sich um stream
einen Nullzeiger handelt oder buffer
eine ungerade Anzahl von Bytes, die geschrieben werden sollen, im Unicode-Modus angegeben ist, ruft die Funktion den ungültigen Parameterhandler auf, wie in der Parameterüberprüfung beschrieben. Wenn die weitere Ausführung zugelassen wird, setzt diese Funktion errno
auf EINVAL
und gibt "0" zurück.
Hinweise
Die fwrite
-Funktion schreibt bis zu count
Elemente, alle mit einer Länge von size
, aus dem Puffer buffer
in den Ausgabe-stream
. Der Dateizeiger, der (falls vorhanden) zugeordnet stream
ist, wird um die Anzahl der Byte-Schreibvorgänge fwrite
erhöht. Wenn stream
im Textmodus geöffnet wird, wird jeder Zeilenvorschub durch ein Wagenrücklauf-Zeilenvorschubpaar ersetzt. Diese Ersetzung hat keine Auswirkung auf den Rückgabewert.
Wenn stream
in einem Unicode-Übersetzungsmodus geöffnet wird – z. B., wenn stream
durch Aufrufen von fopen
geöffnet wird und ein Modusparameter verwendet wird, der ccs=UNICODE
, ccs=UTF-16LE
oder ccs=UTF-8
enthält, oder wenn der Modus durch Verwendung von _setmode
und einem Modusparameter, der _O_WTEXT
, _O_U16TEXT
oder _O_U8TEXT
enthält, in einen Unicode-Übersetzungsmodus geändert wird –, dann wird buffer
als Zeiger auf ein Array von wchar_t
interpretiert, das UTF-16 -Daten enthält. Der Versuch, in diesem Modus eine ungerade Anzahl von Bytes zu schreiben, führt zu einem Parametervalidierungsfehler.
Da diese Funktion den aufrufenden Thread sperrt, ist sie threadsicher. Eine nicht sperrende Version finden Sie unter _fwrite_nolock
.
Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.
Anforderungen
Funktion | Erforderlicher Header |
---|---|
fwrite |
<stdio.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Beispiel
Ein Beispiel hierfür finden Sie unter fread
.