fread(3S) — STANDARD I/O FUNCTIONS
NAME
fread, fwrite − binary input/output
SYNOPSIS
#include <stdio.h>
size_t fread (void ∗ptr, size_t size, size_t nitems, FILE ∗stream);
size_t fwrite (const void ∗ptr, size_t size, size_t nitems, FILE
∗stream);
DESCRIPTION
fread reads into an array pointed to by ptr up to nitems items of data from stream, where an item of data is a sequence of bytes (not necessarily terminated by a null byte) of length size. fread stops reading bytes if an end-of-file or error condition is encountered while reading stream, or if nitems items have been read. fread increments the data pointer in stream to point to the byte following the last byte read if there is one. fread does not change the contents of stream. fread returns the number of items read.
fwrite writes to the named output stream at most nitems items of data from the array pointed to by ptr, where an item of data is a sequence of bytes (not necessarily terminated by a null byte) of length size. fwrite stops writing when it has written nitems items of data or if an error condition is encountered on stream. fwrite does not change the contents of the array pointed to by ptr. fwrite increments the data-pointer in stream by the number of bytes written. fwrite returns the number of items written.
If size or nitems is zero, then fread and fwrite return a value of 0 and do not effect the state of stream.
The ferror or feof routines must be used to distinguish between an error condition and end-of-file condition.
SEE ALSO
exit(2), lseek(2), read(2), write(2), abort(3C), fclose(3S), fopen(3S), getc(3S), gets(3S), printf(3S), putc(3S), puts(3S), scanf(3S), stdio(3S)
DIAGNOSTICS
If an error occurs, the error indicator for stream is set.
— C Development Set