how to write default structure values multiple times using fwrite()
c
Solution
You can't with a single fwrite(). You'd have to use a loop:
int i;
for (i = 0; i < N; ++i)
fwrite(&foo_struct, sizeof(foo_struct), 1, fp);
The third parameter of fwrite() is the number of objects to write, not the number of times to write a single object.
Problem
I want to write a default structure, N times, to a file, using fwrite. ``` typedef struct foo_s { uint32 A; uint32 B; char desc[100]; }foo_t; void init_file(FILE *fp, int N) { foo_t foo_struct = {0}; foo_struct.A = -1; foo_struct.B = 1; fwrite(&foo_struct, sizeof(foo_struct), N, fp); } ``` The above code does not write foo_struct N times to the file stream fp. Instead it writes N*sizeof(foo_struct) bytes starting from &foo_struct to fp. Can anyone tell how to achieve the same with a single fwrite?