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. Informationen zum Ändern dieses Verhaltens finden Sie im Global state in the CRT.

Anforderungen

Funktion Erforderlicher Header
fwrite <stdio.h>

Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.

Beispiel

Sehen Sie sich das Beispiel für fread.

Siehe auch

Stream-E/A
_setmode
fread
_fwrite_nolock
_write