FREAD(3) | Library Functions Manual | FREAD(3) |
size_t
fread(void * restrict ptr, size_t size, size_t nmemb, FILE * restrict stream);
size_t
fwrite(const void * restrict ptr, size_t size, size_t nmemb, FILE * restrict stream);
The function fwrite() writes nmemb objects, each size bytes long, to the stream pointed to by stream, obtaining them from the location given by ptr.
Mixing fread() and fwrite() calls without setting the file position explicitly using fsetpos(3) between read and write or write and read operations will lead to unexpected results because of buffering the file pointer not being set to the expected position after each operation completes. This behavior is allowed by ANSI C for efficiency and it will not be changed.
The function fread() does not distinguish between end-of-file and error, and callers must use feof(3) and ferror(3) to determine which occurred. The function fwrite() returns a value less than nmemb only if a write error has occurred.
September 11, 2011 | NetBSD 6.1 |