FREAD(3) BSD Programmer's Manual FREAD(3)
fread, fwrite - binary stream input/output
fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
The function fread() reads nmemb objects, each size bytes long, from the
stream pointed to by stream, storing them at the location given by ptr.
The function fwrite() writes nmemb objects, each size bytes long, to the
stream pointed to by stream, obtaining them from the location given by
The functions fread() and fwrite() advance the file position indicator
for the stream by the number of bytes read or written. They return the
number of objects read or written. If an error occurs, or the end-of-
file is reached, the return value is a short object count (or zero).
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 er-
ror has occurred.
The functions fread() and fwrite() conform to ANSI C X3.159-1989 (``ANSI
4.4BSD March 8, 1994 1