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.
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.