Writes count of objects from the given array buffer to the output stream stream. The objects are written as if by reinterpreting each object as an array of unsigned char and calling fputc size times for each object to write those unsigned chars into stream, in order. The file position indicator for the stream is advanced by the number of characters written.
If an error occurs, the resulting value of the file position indicator for the stream is indeterminate.
[edit] Parameters buffer - pointer to the first object in the array to be written size - size of each object count - the number of the objects to be written stream - pointer to the output stream [edit] Return valueThe number of objects written successfully, which may be less than count if an error occurs.
If size or count is zero, fwrite
returns zero and performs no other action.
#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]); }
Output:
wrote 5 elements out of 5 requested read back: 1.00 2.00 3.00 4.00 5.00[edit] References
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4