Namespaces
Variants

std:: fwrite

From cppreference.net
< cpp ‎ | io ‎ | c
Definido en el encabezado <cstdio>
std:: size_t fwrite ( const void * buffer, std:: size_t size, std:: size_t count, std:: FILE * stream ) ;

Escribe hasta count objetos binarios del arreglo dado buffer al flujo de salida stream . Los objetos se escriben como si reinterpretando cada objeto como un arreglo de unsigned char y llamando std::fputc size veces para cada objeto para escribir esos unsigned char s en stream , en orden. El indicador de posición de archivo para el flujo se avanza por el número de caracteres escritos.

Si los objetos no son TriviallyCopyable , el comportamiento es indefinido.

Si ocurre un error, el valor resultante del indicador de posición de archivo para el flujo es indeterminado.

Contenidos

Parámetros

buffer - puntero al primer objeto del array a escribir
size - tamaño de cada objeto
count - número de objetos a escribir
stream - flujo de archivo de salida donde escribir

Valor de retorno

Número de objetos escritos exitosamente, que puede ser menor que count si ocurrió un error.

Si size o count es cero, fwrite retorna cero y no realiza ninguna otra acción.

Ejemplo

#include <array>
#include <cstdio>
#include <vector>
int main ()
{
    // escribir buffer al archivo
    if (std::FILE* f1 = std::fopen("file.bin", "wb"))
    {
        std::array<int, 3> v = {42, -1, 7}; // el almacenamiento subyacente de std::array es un array
        std::fwrite(v.data(), sizeof v[0], v.size(), f1);
        std::fclose(f1);
    }
    // leer los mismos datos e imprimirlos a la salida estándar
    if (std::FILE* f2 = std::fopen("file.bin", "rb"))
    {
        std::vector<int> rbuf(10); // el almacenamiento subyacente de std::vector también es un array
        std::size_t sz = std::fread(rbuf.data(), sizeof rbuf[0], rbuf.size(), f2);
        std::fclose(f2);
        for (std::size_t n = 0; n < sz; ++n)
            std::printf("%d\n", rbuf[n]);
    }
}

Salida:

42
-1
7

Véase también

imprime salida formateada a stdout , un flujo de archivo o un búfer
(función)
escribe una cadena de caracteres a un flujo de archivo
(función)
lee desde un archivo
(función)
Documentación C para fwrite