fread, fread_unlocked, fwrite, fwrite_unlocked - Perform
input/output operations
#include <stdio.h>
size_t fread(
void *pointer,
size_t *size,
size_t *num_items,
FILE *stream ); size_t fread_unlocked(
void *pointer,
size_t *size,
size_t *num_items,
FILE *stream ); size_t fwrite(
const void *pointer,
size_t *size,
size_t *num_items,
FILE *stream ); size_t fwrite_unlocked(
const void *pointer,
size_t *size,
size_t *num_items,
FILE *stream );
Standard C Library (libc)
Interfaces documented on this reference page conform to
industry standards as follows:
fread(), fwrite(): XPG4, XPG4-UNIX
Refer to the standards(5) reference page for more information
about industry standards and associated tags.
Points to an array. Specifies the size of the variable
type of the array pointed to by the pointer parameter.
Specifies the number of items of data. Specifies the
input or output stream.
The fread() function copies num_items of data of length
size from the input stream into an array beginning at the
location pointed to by the pointer
r parameter.
The fread() function stops copying bytes if an End-of-File
or error condition is encountered while reading from the
input specified by the stream parameter, or when the number
of data items specified by the num_items parameter
have been copied. The function leaves the file pointer of
the stream parameter, if defined, pointing to the byte
following the last byte read, if there is one. The fread()
function does not change the contents of the stream parameter.
The fwrite() function appends num_items of data of length
size from the array pointed to by the pointer parameter to
the output stream.
The fwrite() function stops writing bytes if an error condition
is encountered on the stream, or when the number of
items of data specified by the num_items parameter have
been written. The fwrite() function does not change the
contents of the array pointed to by the pointer parameter.
The fread_unlocked() and fwrite_unlocked() functions are
functionally identical to the fread() and fwrite() functions,
except that fread_unlocked() and fwrite_unlocked()
may be safely used only within a scope that is protected
by the flockfile() and funlockfile() functions used as a
pair. The caller must ensure that the stream is locked
before using these functions.
If the stream parameter is invalid, the result of calling
the fread(), fwrite(), fread_unlocked(), and
fwrite_unlocked() functions is undefined.
Upon successful completion, the fread(), fwrite(),
fread_unlocked(), and fwrite_unlocked() functions return
the number of items actually transferred. If the num_items
parameter is negative or 0 (zero), no characters are
transferred, and a value of 0 (zero) is returned. If a
read or write error occurs, the error indicator for the
stream is set, and errno is set to indicate the error.
Refer to the fgetc(3) reference page for error codes
returned by fread() and fread_unlocked().
Refer to the fputc(3) reference page for error codes
returned by fwrite() and fwrite_unlocked().
Functions: read(2), write(2), fopen(3), getc(3), gets(3),
printf(3), putc(3), puts(3), scanf(3)
Standards: standards(5)
fread(3)
[ Back ] |