fwrite(3p)
NAME
fwrite - binary output
SYNOPSIS
#include <stdio.h> size_t fwrite(const void *restrict ptr, size_t size, size_t nitems, FILE *restrict stream);
DESCRIPTION
The fwrite() function shall write, from the array pointed to by ptr, up
to nitems elements whose size is specified by size, to the stream
pointed to by stream. For each object, size calls shall be made to the
fputc() function, taking the values (in order) from an array of
unsigned char exactly overlaying the object. The file-position indicator for the stream (if defined) shall be advanced by the number of
bytes successfully written. If an error occurs, the resulting value of
the file-position indicator for the stream is unspecified.
The st_ctime and st_mtime fields of the file shall be marked for update
between the successful execution of fwrite() and the next successful
completion of a call to fflush() or fclose() on the same stream, or a
call to exit() or abort().
RETURN VALUE
The fwrite() function shall return the number of elements successfully
written, which may be less than nitems if a write error is encountered.
If size or nitems is 0, fwrite() shall return 0 and the state of the
stream remains unchanged. Otherwise, if a write error occurs, the error
indicator for the stream shall be set, and errno shall be set to
indicate the error.
ERRORS
Refer to fputc() .
The following sections are informative.
EXAMPLES
None.
APPLICATION USAGE
Because of possible differences in element length and byte ordering,
files written using fwrite() are application-dependent, and possibly
cannot be read using fread() by a different application or by the same
application on a different processor.
RATIONALE
None.
FUTURE DIRECTIONS
None.
SEE ALSO
ferror() , fopen() , printf() , putc() , puts() , write() , the Base Definitions volume of IEEE Std 1003.1-2001, <stdio.h>
COPYRIGHT
- Portions of this text are reprinted and reproduced in electronic form
from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
-- Portable Operating System Interface (POSIX), The Open Group Base
Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
Electrical and Electronics Engineers, Inc and The Open Group. In the
event of any discrepancy between this version and the original IEEE and
The Open Group Standard, the original IEEE and The Open Group Standard
is the referee document. The original Standard can be obtained online
at http://www.opengroup.org/unix/online.html .