Next: , Previous: fputws, Up: Stdio


4.24 fread—read array elements from a file

Synopsis

     #include <stdio.h>
     size_t fread(void *restrict buf, size_t size, size_t count,
         FILE *restrict fp);
     
     #include <stdio.h>
     size_t _fread_r(struct _reent *ptr, void *restrict buf,
         size_t size, size_t count, FILE *restrict fp);
     

Description
fread attempts to copy, from the file or stream identified by fp, count elements (each of size size) into memory, starting at buf. fread may copy fewer elements than count if an error, or end of file, intervenes.

fread also advances the file position indicator (if any) for fp by the number of characters actually read.

_fread_r is simply the reentrant version of fread that takes an additional reentrant structure pointer argument: ptr.


Returns
The result of fread is the number of elements it succeeded in reading.


Portability
ANSI C requires fread.

Supporting OS subroutines required: close, fstat, isatty, lseek, read, sbrk, write.