Namespaces
Variants

std:: fwrite

From cppreference.net
< cpp ‎ | io ‎ | c
Défini dans l'en-tête <cstdio>
std:: size_t fwrite ( const void * buffer, std:: size_t size, std:: size_t count, std:: FILE * stream ) ;

Écrit jusqu'à count objets binaires du tableau donné buffer dans le flux de sortie stream . Les objets sont écrits comme si chaque objet était réinterprété comme un tableau de unsigned char et en appelant std::fputc size fois pour chaque objet afin d'écrire ces unsigned char dans stream , dans l'ordre. L'indicateur de position du fichier pour le flux est avancé du nombre de caractères écrits.

Si les objets ne sont pas TriviallyCopyable , le comportement est indéfini.

Si une erreur se produit, la valeur résultante de l'indicateur de position du fichier pour le flux est indéterminée.

Table des matières

Paramètres

buffer - pointeur vers le premier objet du tableau à écrire
size - taille de chaque objet
count - nombre d'objets à écrire
stream - flux de fichier de sortie vers lequel écrire

Valeur de retour

Nombre d'objets écrits avec succès, qui peut être inférieur à count si une erreur s'est produite.

Si size ou count est zéro, fwrite retourne zéro et n'effectue aucune autre action.

Exemple

#include <array>
#include <cstdio>
#include <vector>
int main ()
{
    // écrire le tampon dans le fichier
    if (std::FILE* f1 = std::fopen("file.bin", "wb"))
    {
        std::array<int, 3> v = {42, -1, 7}; // le stockage sous-jacent de std::array est un tableau
        std::fwrite(v.data(), sizeof v[0], v.size(), f1);
        std::fclose(f1);
    }
    // lire les mêmes données et les afficher sur la sortie standard
    if (std::FILE* f2 = std::fopen("file.bin", "rb"))
    {
        std::vector<int> rbuf(10); // le stockage sous-jacent de std::vector est également un tableau
        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]);
    }
}

Sortie :

42
-1
7

Voir aussi

imprime une sortie formatée vers stdout , un flux de fichier ou un tampon
(fonction)
écrit une chaîne de caractères vers un flux de fichier
(fonction)
lit depuis un fichier
(fonction)
Documentation C pour fwrite