FREAD(3) BSD Programmer's Manual FREAD(3)
fread, fwrite - binary stream input/output
#include <stdio.h>
size_t
fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
size_t
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
ptr.
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). If size
or nmemb is zero, fread() and fwrite() return zero, and the buffer at ptr
and the stream state are unchanged.
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, unless size is zero.
read(2), write(2)
The functions fread() and fwrite() conform to ANSI/ISO/IEC 9899-1999
("ANSI C99").
The return value for the nmemb = 1, size = 0 case in fwrite was aligned
with ANSI/ISO/IEC 9899-1999 ("ANSI C99") in MirOS #11. Up to MirOS #10,
ANSI X3.159-1989 ("ANSI C") only required fread() to be broken.
MirOS BSD #10-current July 5, 2009 1
Generated on 2013-04-27 00:20:00 by $MirOS: src/scripts/roff2htm,v 1.77 2013/01/01 20:49:09 tg Exp $
These manual pages and other documentation are copyrighted by their respective writers;
their source is available at our CVSweb,
AnonCVS, and other mirrors. The rest is Copyright © 2002‒2013 The MirOS Project, Germany.
This product includes material
provided by Thorsten Glaser.
This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report – diffs preferred.