fwritefwrite

Escribe datos en un flujo.Writes data to a stream.

SintaxisSyntax

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

ParámetrosParameters

búferbuffer
Puntero a los datos que se van a escribir.Pointer to data to be written.

sizesize
Tamaño del elemento en bytes.Item size, in bytes.

countcount
Número máximo de elementos que se va a escribir.Maximum number of items to be written.

misionesstream
Puntero a la estructura FILE.Pointer to FILE structure.

Valor devueltoReturn Value

fwrite devuelve el número de elementos completos escritos realmente, que puede ser menor que Count si se produce un error.fwrite returns the number of full items actually written, which may be less than count if an error occurs. De igual modo, si se produce un error, no se podrá conocer el indicador de posición de archivo.Also, if an error occurs, the file-position indicator cannot be determined. Si la secuencia o el búfer es un puntero nulo, o si se especifica un número impar de bytes en el modo Unicode, la función invoca el controlador de parámetros no válidos, tal y como se describe en validación de parámetros.If either stream or buffer is a null pointer, or if an odd number of bytes to be written is specified in Unicode mode, the function invokes the invalid parameter handler, as described in Parameter Validation. Si la ejecución puede continuar, esta función establece errno en EINVAL y devuelve 0.If execution is allowed to continue, this function sets errno to EINVAL and returns 0.

ObservacionesRemarks

La función fwrite escribe hasta el número de elementos, de longitud de tamaño cada uno, desde el búfer hasta el flujo de salida.The fwrite function writes up to count items, of size length each, from buffer to the output stream. El puntero de archivo asociado al flujo (si hay alguno) se incrementa según el número de bytes escritos realmente.The file pointer associated with stream (if there is one) is incremented by the number of bytes actually written. Si el flujo se abre en modo de texto, cada avance de línea se reemplaza por un par de retorno de carro y avance de línea.If stream is opened in text mode, each line feed is replaced with a carriage return-line feed pair. Este reemplazo no tiene efecto alguno en el valor devuelto.The replacement has no effect on the return value.

Cuando el flujo se abre en el modo de conversión Unicode (por ejemplo,) si la secuencia 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 búfer se interpreta como un puntero a una matriz de wchar_t que contiene datos UTF-16.When stream is opened in Unicode translation mode—for example, if stream is opened by calling fopen and using a mode parameter that includes ccs=UNICODE, ccs=UTF-16LE, or ccs=UTF-8, or if the mode is changed to a Unicode translation mode by using _setmode and a mode parameter that includes _O_WTEXT, _O_U16TEXT, or _O_U8TEXTbuffer is interpreted as a pointer to an array of wchar_t that contains UTF-16 data. Si se intenta escribir un número impar de bytes en este modo, se producirá un error de validación de parámetros.An attempt to write an odd number of bytes in this mode causes a parameter validation error.

Como esta función bloquea el subproceso de llamada, es segura para los subprocesos.Because this function locks the calling thread, it is thread-safe. Para obtener una versión que no sea de bloqueo, consulte _fwrite_nolock.For a non-locking version, see _fwrite_nolock.

De forma predeterminada, el ámbito de este estado global de esta función es la aplicación.By default, this function's global state is scoped to the application. Para cambiar esto, vea estado global en CRT.To change this, see Global state in the CRT.

RequisitosRequirements

FunciónFunction Encabezado necesarioRequired header
fwritefwrite <stdio.h>

Para obtener información adicional sobre compatibilidad, consulte Compatibilidad.For additional compatibility information, see Compatibility.

EjemploExample

Consulte el ejemplo de fread.See the example for fread.

Consulta tambiénSee also

E/S de secuenciaStream I/O
_setmode_setmode
freadfread
_fwrite_nolock_fwrite_nolock
_write_write