HP-UX Reference (11i v1 05/09) - 3 Library Functions A-M (vol 6)
f
fread(3S) fread(3S)
NAME
fread(), fwrite( ) - buffered binary input/output to a stream file
SYNOPSIS
#include <stdio.h>
size_t fread(void *ptr, size_t size, size_t nitems, FILE *stream);
size_t fwrite(const void *ptr, size_t size, size_t nitems, FILE *stream);
Obsolescent Interfaces
size_t fread_unlocked(
void *ptr, size_t size, size_t nitems, FILE *stream);
size_t fwrite_unlocked(
const void *ptr, size_t size, size_t nitems, FILE *stream);
DESCRIPTION
fread() copies, into an array pointed to by ptr,uptonitems items of data from the named input stream,
where an item of data is a sequence of bytes (not necessarily terminated by a null byte) of length size.
fread() stops appending bytes if an end-of-file or error condition is encountered while reading stream,or
if nitems items have been read.
fread() leaves the file pointer in stream, if defined, pointing to the byte
following the last byte read if there is one. fread() does not change the contents of stream.
fwrite() appends at most nitems items of data from the array pointed to by ptr to the named output
stream.
fwrite() stops appending when it has appended nitems items of data or if an error condition is
encountered on stream. fwrite() does not change the contents of the array pointed to by ptr.
The argument size is typically
sizeof( ∗ptr) where the pseudo-function
sizeof specifies the length of
an item pointed to by ptr.
Obsolescent Interfaces
fread_unlocked() and
fwrite_unlocked() buffered binary input/output to a stream file.
APPLICATION USAGE
After
fread() or fwrite() is applied to a stream, the stream becomes byte-oriented (see orienta-
tion(5)).
RETURN VALUE
fread(), fread_unlocked()
, fwrite(), and fwrite_unlocked() return the number of
items read or written. If size or nitems is 0, no characters are read or written and 0 is returned.
The value returned will be less than nitems only if a read error or end-of-file is encountered. The
fer-
ror()
or feof() functions must be used to distinguish between an error condition and an end-of-file con-
dition.
ERRORS
Refer to getc(3S) for a description of errors.
WARNINGS
fread_unlocked() and fwrite_unlocked() are obsolescent interfaces supported only for compa-
tibility with existing DCE applications. New multithreaded applications should use
fread() and
fwrite().
SEE ALSO
read(2), write(2), fopen(3S), flockfile(3S), getc(3S), gets(3S), printf(3S), putc(3S), puts(3S), scanf(3S), orien-
tation(5), thread_safety(5).
STANDARDS CONFORMANCE
fread(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1, ANSI C
fwrite(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1, ANSI C
HP-UX 11i Version 1: September 2005 − 1 − Hewlett-Packard Company Section 3−−279