fread, fread_unlocked, fwrite, fwrite_unlocked(3) | binary stream input/output |
fread_unlocked, fread, fwrite, fwrite_unlocked(3) | binary stream input/output |
fwrite, fread, fread_unlocked, fwrite_unlocked(3) | binary stream input/output |
fwrite_unlocked, fread, fread_unlocked, fwrite(3) | binary stream input/output |
FREAD(3) | MidnightBSD Library Functions Manual | FREAD(3) |
fread
,
fread_unlocked
, fwrite
,
fwrite_unlocked
— binary
stream input/output
Standard C Library (libc, -lc)
#include
<stdio.h>
size_t
fread
(void
* restrict ptr, size_t
size, size_t nmemb,
FILE * restrict
stream);
size_t
fread_unlocked
(void
* restrict ptr, size_t
size, size_t nmemb,
FILE * restrict
stream);
size_t
fwrite
(const
void * restrict ptr,
size_t size,
size_t nmemb,
FILE * restrict
stream);
size_t
fwrite_unlocked
(const
void * restrict ptr,
size_t size,
size_t nmemb,
FILE * restrict
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
fread_unlocked
()
and
fwrite_unlocked
()
functions are equivalent to fread
() and
fwrite
() respectively, except that the caller is
responsible for locking the stream with
flockfile(3) before
calling them. These functions may be used to avoid the overhead of locking
the stream and to prevent races when multiple threads are operating on the
same stream.
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).
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 error has
occurred.
The functions fread
() and
fwrite
() conform to ISO/IEC
9899:1990 (“ISO C90”).
January 23, 2020 | midnightbsd-3.1 |