Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
FREAD(3)		     Library Functions Manual			FREAD(3)

NAME
     fread,  fread_unlocked, fwrite, fwrite_unlocked -- binary stream input/out-
     put

LIBRARY
     Standard C Library (libc, -lc)

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

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.

     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  func-
     tions  may  be used to avoid the overhead of locking the stream and to pre-
     vent 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.

SEE ALSO
     read(2), write(2)

STANDARDS
     The   functions   fread()	 and   fwrite()  conform  to  ISO/IEC  9899:1990
     ("ISO C90").

HISTORY
     The functions fread() and fwrite() first appeared in Version 7 AT&T UNIX.

FreeBSD ports 15.1		  April 2, 2022 			FREAD(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=fwrite&sektion=3&manpath=FreeBSD+15.1-RELEASE+and+Ports>

home | help