fread_unlocked3
Binary stream input/output
Part of fread(3).
Usage
size_t
size_t
size_t
size_t
Library
Standard C Library (libc, -lc)
Overview
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.
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).
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.
History
- FreeBSD 16.0-CURRENT (2026-10-27) to FreeBSD 15.0-RELEASE: the text shown here
- FreeBSD 14.5-RELEASE to FreeBSD 13.3-RELEASE
- FreeBSD 13.2-RELEASE
- FreeBSD 13.1-RELEASE to FreeBSD 13.0-RELEASE
- FreeBSD 12.4-RELEASE
- FreeBSD 12.3-RELEASE
- FreeBSD 12.2-RELEASE
- FreeBSD 11.4-RELEASE