fwrite

Écrit des données dans un flux.

Syntaxe

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

Paramètres

buffer
Pointeur vers des données à écrire.

size
Taille de l'élément, en octets.

count
Nombre maximal d'éléments à écrire.

stream
Pointeur vers la structure FILE .

Valeur retournée

fwrite retourne le nombre d’éléments complets count que la fonction écrit, ce qui peut être inférieur à si une erreur se produit. En outre, si une erreur se produit, l’indicateur de position de fichier ne peut pas être déterminé. stream Si un pointeur Null ou buffer un nombre impair d’octets à écrire est spécifié en mode Unicode, la fonction appelle le gestionnaire de paramètres non valide, comme décrit dans la validation des paramètres. Si l'exécution est autorisée à se poursuivre, cette fonction affecte à errno la valeur EINVAL et retourne 0.

Notes

La fonction fwrite écrit jusqu'aux éléments count, chacun d'une longueur size, de buffer vers la sortie stream. Le pointeur de fichier associé à stream (s’il en existe un) est incrémenté par le nombre d’écritures d’octets fwrite . Si stream elle est ouverte en mode texte, chaque flux de ligne est remplacé par une paire chariot retour-ligne. Le remplacement n'a aucun effet sur la valeur de retour.

Quand stream est ouvert en mode de traduction Unicode, par exemple, si stream est ouvert en appelant fopen et en utilisant un paramètre de mode qui inclut ccs=UNICODE, ccs=UTF-16LE ou ccs=UTF-8, ou si le mode est modifié pour un mode de traduction Unicode en utilisant _setmode et un paramètre de mode qui inclut _O_WTEXT, _O_U16TEXT ou _O_U8TEXT, buffer est interprété comme un pointeur vers un tableau de wchar_t qui contient des données UTF-16. Toute tentative d'écriture d'une quantité impaire d'octets dans ce mode provoque une erreur de validation de paramètre.

Étant donné que cette fonction verrouille le thread appelant, il est thread-safe. Pour une version sans verrouillage, voir _fwrite_nolock.

Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.

Spécifications

Fonction En-tête requis
fwrite <stdio.h>

Pour plus d’informations sur la compatibilité, consultez Compatibility.

Exemple

Consultez l’exemple pour fread.

Voir aussi

E/S de flux
_setmode
fread
_fwrite_nolock
_write