fwrite(3) [plan9 man page]
FREAD(3) Linux Programmer's Manual FREAD(3) NAME
fread, fwrite - binary stream input/output SYNOPSIS
#include <stdio.h> size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream); size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream); DESCRIPTION
The function fread() reads nmemb items of data, each size bytes long, from the stream pointed to by stream, storing them at the location given by ptr. The function fwrite() writes nmemb items of data, each size bytes long, to the stream pointed to by stream, obtaining them from the loca- tion given by ptr. For nonlocking counterparts, see unlocked_stdio(3). RETURN VALUE
On success, fread() and fwrite() return the number of items read or written. This number equals the number of bytes transferred only when size is 1. If an error occurs, or the end of the file is reached, the return value is a short item count (or zero). fread() does not distinguish between end-of-file and error, and callers must use feof(3) and ferror(3) to determine which occurred. ATTRIBUTES
For an explanation of the terms used in this section, see attributes(7). +------------------+---------------+---------+ |Interface | Attribute | Value | +------------------+---------------+---------+ |fread(), fwrite() | Thread safety | MT-Safe | +------------------+---------------+---------+ CONFORMING TO
POSIX.1-2001, POSIX.1-2008, C89. SEE ALSO
read(2), write(2), feof(3), ferror(3), unlocked_stdio(3) COLOPHON
This page is part of release 4.15 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/. GNU
2015-07-23 FREAD(3)
Check Out this Related Man Page
fread(3) Library Functions Manual fread(3) NAME
fread, fread_unlocked, fwrite, fwrite_unlocked - Perform input/output operations LIBRARY
Standard C Library (libc.so, libc.a) SYNOPSIS
#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); STANDARDS
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. PARAMETERS
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. DESCRIPTION
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 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() func- tions used as a pair. The caller must ensure that the stream is locked before using these functions. NOTES
If the stream parameter is invalid, the result of calling the fread(), fwrite(), fread_unlocked(), and fwrite_unlocked() functions is unde- fined. RETURN VALUES
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. ERRORS
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(). RELATED INFORMATION
Functions: read(2), write(2), fopen(3), getc(3), gets(3), printf(3), putc(3), puts(3), scanf(3) Standards: standards(5) delim off fread(3)