std::fwrite
| Definiert in Header <cstdio> |
||
| std::size_t fwrite( const void* buffer, std::size_t size, std::size_t count, std::FILE* stream ); |
||
Schreibt bis zu count Binärobjekte aus dem gegebenen Array buffer in den Ausgabestrom stream. Die Objekte werden so geschrieben, als ob jedes Objekt als ein Array von unsigned char neu interpretiert und std::fputc size Mal für jedes Objekt aufgerufen würde, um diese unsigned chars in stream in der angegebenen Reihenfolge zu schreiben. Der Dateipositionsanzeiger des Streams wird um die Anzahl der geschriebenen Zeichen vorgerückt.
Wenn die Objekte nicht TriviallyCopyable sind, ist das Verhalten undefiniert.
Wenn ein Fehler auftritt, ist der resultierende Wert des Dateipositionsanzeigers des Streams nicht bestimmt.
Inhalt |
[bearbeiten] Parameter
| buffer | - | Zeiger auf das erste Objekt im zu schreibenden Array |
| size | - | Größe jedes Objekts |
| zählt | - | die Anzahl der zu schreibenden Objekte |
| stream | - | Ausgabestream, in den geschrieben werden soll |
[bearbeiten] Rückgabewert
Anzahl der erfolgreich geschriebenen Objekte, die kleiner als count sein kann, wenn ein Fehler aufgetreten ist.
Wenn size oder count null ist, gibt fwrite null zurück und führt keine weiteren Aktionen aus.
[bearbeiten] Beispiel
#include <array> #include <cstdio> #include <vector> int main () { // write buffer to file if (std::FILE* f1 = std::fopen("file.bin", "wb")) { std::array<int, 3> v = {42, -1, 7}; // underlying storage of std::array is an array std::fwrite(v.data(), sizeof v[0], v.size(), f1); std::fclose(f1); } // read the same data and print it to the standard output if (std::FILE* f2 = std::fopen("file.bin", "rb")) { std::vector<int> rbuf(10); // underlying storage of std::vector is also an 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]); } }
Ausgabe
42 -1 7
[bearbeiten] Siehe auch
| (C++11) |
druckt formatierte Ausgabe nach stdout, einen Dateistream oder einen Puffer (Funktion) |
| schreibt einen Zeichenstring in einen Dateistream (function) | |
| liest aus einer Datei (function) | |
| C-Dokumentation für fwrite
| |