fwrite
De fr.cppreference.net
| Définie dans l'en-tête <stdio.h>
|
||
size_t fwrite( const void* buffer, size_t size, size_t count,
FILE* stream );
|
(jusqu'à C99) | |
size_t fwrite( const void* restrict buffer, size_t size, size_t count,
FILE* restrict stream );
|
(depuis C99) | |
Écrit count d'objets depuis le tableau donné buffer vers 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 fputc size fois pour chaque objet pour écrire ces unsigned chars dans stream, dans l'ordre. L'indicateur de position du fichier pour le flux est avancé du nombre de caractères écrits.
Si une erreur se produit, la valeur résultante de l'indicateur de position du fichier pour le flux est indéterminée.
Paramètres
| buffer | - | pointeur vers le premier objet du tableau à écrire |
| size | - | taille de chaque objet |
| count | - | le nombre d'objets à écrire |
| stream | - | pointeur vers le flux de sortie |
Valeur de retour
Le nombre d'objets écrits avec succès, qui sera inférieur à count uniquement si une erreur se produit.
Si size ou count est zéro, fwrite renvoie zéro et n'effectue aucune autre action.
Exemple
Exécuter ce code
#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]);
}
Sortie :
wrote 5 elements out of 5 requested
read back: 1.00 2.00 3.00 4.00 5.00
Références
- Norme C23 (ISO/IEC 9899:2024) :
- 7.21.8.2 La fonction fwrite (p : TBD)
- Norme C17 (ISO/IEC 9899:2018) :
- 7.21.8.2 La fonction fwrite (p : TBD)
- Norme C11 (ISO/IEC 9899:2011) :
- 7.21.8.2 La fonction fwrite (p : 335-336)
- Norme C99 (ISO/IEC 9899:1999) :
- 7.19.8.2 La fonction fwrite (p : 301-302)
- Norme C89/C90 (ISO/IEC 9899:1990) :
- 4.9.8.2 La fonction fwrite
Voir aussi
(C99)(C11)(C11)(C11)(C11) |
affiche une sortie formatée vers stdout, un flux de fichier ou un tampon (fonction) |
| écrit une chaîne de caractères dans un flux de fichier (fonction) | |
| lit depuis un fichier (fonction) | |
Documentation C++ pour fwrite
| |