MirBSD manpage: fread(3), fwrite(3)

FREAD(3)                   BSD Programmer's Manual                    FREAD(3)

NAME

     fread, fwrite - binary stream input/output

SYNOPSIS

     #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);

DESCRIPTION

     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.

RETURN VALUES

     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.

SEE ALSO

     read(2), write(2)

STANDARDS

     The functions fread() and fwrite() conform to ISO/IEC 9899:1999 ("ISO
     C99").

HISTORY

     The return value for the nmemb = 1, size = 0 case in fwrite was aligned
     with ISO/IEC 9899:1999 ("ISO C99") in MirBSD #11. Up to MirBSD #10, ANSI
     X3.159-1989 ("ANSI C89") only required fread() to be broken.

MirBSD #10-current             February 9, 2014                              1

Generated on 2022-12-24 01:00:14 by $MirOS: src/scripts/roff2htm,v 1.113 2022/12/21 23:14:31 tg Exp $ — This product includes material provided by mirabilos.

These manual pages and other documentation are copyrighted by their respective writers; their sources are available at the project’s CVSweb, AnonCVS and other mirrors. The rest is Copyright © 2002–2022 MirBSD.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report — diffs preferred.

Kontakt / Impressum & Datenschutzerklärung