Compartir a través de


fwrite

Escribe datos en un flujo.

Sintaxis

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

Parámetros

buffer
Puntero a los datos que se van a escribir.

size
Tamaño del elemento en bytes.

count
Número máximo de elementos que se va a escribir.

stream
Puntero a la estructura FILE .

Valor devuelto

fwrite devuelve el número de elementos completos que escribe la función, que puede ser menor que count si se produce un error. Además, si se produce un error, no se puede determinar el indicador de posición del archivo. Si o stream buffer es un puntero nulo, o si se especifica un número impar de bytes en modo Unicode, la función invoca al controlador de parámetros no válidos, como se describe en Validación de parámetros. Si la ejecución puede continuar, esta función establece errno en EINVAL y devuelve 0.

Comentarios

La función fwrite escribe un máximo de count elementos (con una longitud de size cada uno) desde el buffer al stream de salida. El puntero de archivo asociado a stream (si hay uno) se incrementa en función del número de escrituras de bytes fwrite . Si stream se abre en modo de texto, cada salto de línea se reemplazará por un par de retorno de carro-avance de línea. Este reemplazo no tiene efecto alguno en el valor devuelto.

Cuando stream se abre en un modo de conversión Unicode (por ejemplo, si stream se abre llamando a fopen y usando un parámetro de modo que incluye ccs=UNICODE, ccs=UTF-16LE o ccs=UTF-8, o si el modo se cambia a un modo de conversión Unicode mediante _setmode y un parámetro de modo que incluye _O_WTEXT, _O_U16TEXT o _O_U8TEXT), el buffer se interpretará como un puntero a una matriz de wchar_t que contiene datos UTF-16. Si se intenta escribir un número impar de bytes en este modo, se producirá un error de validación de parámetros.

Dado que esta función bloquea el subproceso que llama, es seguro para subprocesos. Para consultar una versión que no realiza el bloqueo, vea _fwrite_nolock.

De manera predeterminada, el estado global de esta función está limitado a la aplicación. Para cambiar este comportamiento, consulte Estado global en CRT.

Requisitos

Función Encabezado necesario
fwrite <stdio.h>

Para obtener más información sobre compatibilidad, consulte Compatibilidad.

Ejemplo

Vea el ejemplo de fread.

Consulte también

E/S de secuencia
_setmode
fread
_fwrite_nolock
_write