fread(3S) fread(3S)NAME fread, fwrite - binary input/output SYNOPSIS #include <stdio.h> int fread(ptr, size, nitems, stream) char *ptr; int size, nitems; FILE *stream; int fwrite(ptr, size, nitems, stream) char *ptr; int size, nitems; FILE *stream; DESCRIPTION fread copies nitems items of data from the named input stream into an array beginning at ptr. An item of data is a sequence of bytes (not necessarily terminated by a null byte) of length size. fread stops appending bytes if an end-of-file or error condition is encountered while reading stream or if nitems items have been read. fread leaves the file pointer in stream, if defined, pointing to the byte following the last byte read if there is one. fread does not change the contents of stream. fwrite appends at most nitems items of data from the the ar- ray pointed to by ptr to the named output stream. fwrite stops appending when it has appended 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. The variable size is typically sizeof(*ptr) where the pseudo-function sizeof specifies the length of an item pointed to by ptr. If ptr points to a data type other than char it should be cast into a pointer to char. RETURN VALUE fread and fwrite return the number of items read or written. If size or nitems is non-positive, no characters are read or written and 0 is returned by both fread and fwrite. SEE ALSO read(2), write(2), fopen(3S), getc(3S), gets(3S), printf(3S), putc(3S), puts(3S), scanf(3S). April, 1990 1