Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

fread_unlocked(3) [osf1 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)

Check Out this Related Man Page

fread(3C)						   Standard C Library Functions 						 fread(3C)

NAME
fread - binary input SYNOPSIS
#include <stdio.h> size_t fread(void *ptr, size_t size, size_t nitems, FILE *stream); DESCRIPTION
The fread() function reads into the array pointed to by ptr up to nitems elements whose size is specified by size in bytes, from the stream pointed to by stream. For each object, size calls are made to the fgetc(3C) function and the results stored, in the order read, in an array of unsigned char exactly overlaying the object. The file-position indicator for the stream (if defined) is advanced by the number of bytes successfully read. If an error occurs, the resulting value of the file-position indicator for the stream is unspecified. If a partial ele- ment is read, its value is unspecified. The fread() function may mark the st_atime field of the file associated with stream for update. The st_atime field will be marked for update by the first successful execution of fgetc(3C), fgets(3C), fgetwc(3C), fgetws(3C), fread(), fscanf(3C), getc(3C), getchar(3C), gets(3C), or scanf(3C) using stream that returns data not supplied by a prior call to ungetc(3C) or ungetwc(3C). RETURN VALUES
Upon successful completion, fread() returns the number of elements successfully read, which is less than nitems only if a read error or end-of-file is encountered. If size or nitems is 0, fread() returns 0 and the contents of the array and the state of the stream remain unchanged. Otherwise, if a read error occurs, the error indicator for the stream is set and errno is set to indicate the error. ERRORS
Refer to fgetc(3C). EXAMPLES
Example 1: Reading from a Stream The following example reads a single element from the fp stream into the array pointed to by buf. #include <stdio.h> ... size_t bytes_read; char buf[100]; FILE *fp; ... bytes_read = fread(buf, sizeof(buf), 1, fp); ... USAGE
The ferror() or feof() functions must be used to distinguish between an error condition and end-of-file condition. See ferror(3C). Because of possible differences in element length and byte ordering, files written using fwrite(3C) are application-dependent, and possibly cannot be read using fread() by a different application or by the same application on a different processor. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Standard | +-----------------------------+-----------------------------+ |MT-Level |MT-Safe | +-----------------------------+-----------------------------+ SEE ALSO
read(2), fclose(3C), ferror(3C), fopen(3C), getc(3C), gets(3C), printf(3C), putc(3C), puts(3C), attributes(5), standards(5) SunOS 5.10 24 Jul 2002 fread(3C)
Man Page