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
.