fwrite
De es.cppreference.net
| Definido en el encabezado <stdio.h>
|
||
size_t fwrite( const void* buffer, size_t size, size_t count,
FILE* stream );
|
(hasta C99) | |
size_t fwrite( const void* restrict buffer, size_t size, size_t count,
FILE* restrict stream );
|
(desde C99) | |
Escribe count objetos del arreglo dado buffer al flujo de salida stream. Los objetos se escriben como si se reinterpretara cada objeto como un arreglo de unsigned char y se llamara a fputc size veces por cada objeto para escribir esos unsigned char en stream, en orden. El indicador de posición del archivo para el flujo se avanza por el número de caracteres escritos.
Si ocurre un error, el valor resultante del indicador de posición del archivo para el flujo es indeterminado.
Parámetros
| buffer | - | puntero al primer objeto en el arreglo que se va a escribir |
| size | - | tamaño de cada objeto |
| count | - | la cantidad de objetos a escribir |
| stream | - | puntero al flujo de salida |
Valor de retorno
El número de objetos escritos exitosamente, que será menor que count solo si ocurre un error.
Si size o count es cero, fwrite devuelve cero y no realiza ninguna otra acción.
Ejemplo
Ejecutar este código
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
enum { SIZE = 5 };
int main(void)
{
double a[SIZE] = {1, 2, 3, 4, 5};
FILE* f1 = fopen("file.bin", "wb");
assert(f1);
size_t r1 = fwrite(a, sizeof a[0], SIZE, f1);
printf("wrote %zu elements out of %d requested\n", r1, SIZE);
fclose(f1);
double b[SIZE];
FILE* f2 = fopen("file.bin", "rb");
size_t r2 = fread(b, sizeof b[0], SIZE, f2);
fclose(f2);
printf("read back: ");
for (size_t i = 0; i < r2; ++i)
printf("%0.2f ", b[i]);
}
Salida:
wrote 5 elements out of 5 requested
read back: 1.00 2.00 3.00 4.00 5.00
Referencias
- Estándar C23 (ISO/IEC 9899:2024):
- 7.21.8.2 La función fwrite (p: TBD)
- Estándar C17 (ISO/IEC 9899:2018):
- 7.21.8.2 La función fwrite (p: TBD)
- Estándar C11 (ISO/IEC 9899:2011):
- 7.21.8.2 La función fwrite (p: 335-336)
- Estándar C99 (ISO/IEC 9899:1999):
- 7.19.8.2 La función fwrite (p: 301-302)
- Estándar C89/C90 (ISO/IEC 9899:1990):
- 4.9.8.2 La función fwrite
Véase también
(C99)(C11)(C11)(C11)(C11) |
imprime salida formateada en stdout, un flujo de archivo o un búfer (función) |
| escribe una cadena de caracteres en un flujo de archivo (función) | |
| lee de un archivo (función) | |
Documentación de C++ para fwrite
| |