FWRITE(3) Library Functions Manual FWRITE(3)

fwritebinary output

#include <stdio.h>

size_t fwrite(const void *restrict ptr, size_t size, size_t nitems,
       FILE *restrict stream);

[CX] The functionality described on this reference page is aligned with the ISO C standard. Any conflict between the requirements described here and the ISO C standard is unintentional. This volume of IEEE Std 1003.1-2001 (“POSIX.1”) defers to the ISO C standard.

The fwrite () function shall write, from the array pointed to by , up to nitems elements whose size is specified by size, to the stream pointed to by . For each object, size calls shall be made to the fputc(3) function, taking the values (in order) from an array of 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.

[CX] The and 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(3) or fclose(3) on the same stream, or a call to exit(3) or abort(3).

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, [CX] and shall be set to indicate the error.

Refer to fputc(3).

None.

Because of possible differences in element length and byte ordering, files written using fwrite () are application-dependent, and possibly cannot be read using fread(3) by a different application or by the same application on a different processor.

None.

None.

ferror(3), fopen(3), printf(3) , putc(3), puts(3), write(3), the Base Definitions volume of IEEE Std 1003.1-2001 (“POSIX.1”), <stdio.h>

First released in Issue 1. Derived from Issue 1 of the SVID.

Extensions beyond the ISO C standard are marked.

The following changes are made for alignment with the ISO/IEC 9899:1999 (“ISO C99”) standard:

  • The fwrite () prototype is updated.
  • The DESCRIPTION is updated to clarify how the data is written out using fputc(3).

footer end

January 1, 2004 posix.fail