Condividi tramite


fwrite

Scrive i dati in un flusso.

Sintassi

size_t fwrite(
   const void *buffer,
   size_t size,
   size_t count,
   FILE *stream
);

Parametri

buffer
Puntatore ai dati da scrivere.

size
Dimensioni elemento, in byte.

count
Numero massimo di elementi da scrivere.

stream
Puntatore alla struttura FILE .

Valore restituito

fwrite restituisce il numero di elementi completi scritti dalla funzione, che può essere minore di count se si verifica un errore. Inoltre, se si verifica un errore, non è possibile determinare l'indicatore di posizione del file. stream Se o buffer è un puntatore Null o se viene specificato un numero dispari di byte da scrivere in modalità Unicode, la funzione richiama il gestore di parametri non validi, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, la funzione imposta errno suEINVAL e restituisce 0.

Osservazioni:

La funzione fwrite scrive fino a count elementi, ognuno con una lunghezza pari a size, da buffer in stream di output. Il puntatore di file associato ( stream se presente) viene incrementato del numero di scritture in byte fwrite . Se stream viene aperto in modalità testo, ogni avanzamento riga viene sostituito con una coppia di avanzamento ritorno a capo. La sostituzione non ha effetto sul valore restituito.

Quando stream viene aperto nella modalità di conversione Unicode, ad esempio se stream viene aperto tramite una chiamata a fopen e l'uso di un parametro modalità che include ccs=UNICODE, ccs=UTF-16LE o ccs=UTF-8, o se la modalità viene sostituita da una modalità di conversione Unicode tramite _setmode e un parametro modalità che include _O_WTEXT, _O_U16TEXT o _O_U8TEXT, buffer viene interpretato come un puntatore a una matrice di wchar_t che contiene dati UTF-16. Un tentativo di scrivere un numero dispari di byte in questa modalità causerà un errore di convalida del parametro.

Poiché questa funzione blocca il thread chiamante, è thread-safe. Per una versione che non blocca il thread, vedere _fwrite_nolock.

Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.

Requisiti

Funzione Intestazione obbligatoria
fwrite <stdio.h>

Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).

Esempio

Vedere l'esempio per fread.

Vedi anche

I/O di flusso
_setmode
fread
_fwrite_nolock
_write