[Go to CFHT Home Page] Man Pages
Back to Software Index  BORDER=0Manpage Top Level
    fread(3S) manual page Table of Contents

Name

fread, fwrite - buffered 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);

MT-Level

MT-Safe

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 0, then fread() and fwrite() return 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.

Return Values

If an error occurs, fread() and fwrite() return 0 and set the error indicator for stream.

See Also

read(2) , write(2) , fclose(3S) , fopen(3S) , getc(3S) , gets(3S) , printf(3S) , putc(3S) , puts(3S) , scanf(3S) , stdio(3S)


Table of Contents