std:: fwrite
| I/O manipulators | ||||
| Print functions (C++23) | ||||
| C-style I/O | ||||
| Buffers | ||||
|
(C++23)
|
||||
|
(
C++98/26*
)
|
||||
|
(C++20)
|
||||
| Streams | ||||
| Abstractions | ||||
| File I/O | ||||
| String I/O | ||||
| Array I/O | ||||
|
(C++23)
|
||||
|
(C++23)
|
||||
|
(C++23)
|
||||
|
(
C++98/26*
)
|
||||
|
(
C++98/26*
)
|
||||
|
(
C++98/26*
)
|
||||
| Synchronized Output | ||||
|
(C++20)
|
||||
| Types | ||||
| Error category interface | ||||
|
(C++11)
|
||||
|
(C++11)
|
| Types and objects | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Functions | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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.
ContenuParamètres
Valeur de retourNombre d'objets écrits avec succès, qui sera inférieur à Si Exemple
Exécuter ce code
#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
| ||||||||||||||||||||