fprintf

Performs formatted output to a specified file.

Format

#include  <stdio.h>

int fprintf  (FILE *file_ptr, const char
             *format_spec, . . . );

Arguments

file_ptr
A pointer to the file to which the output is directed.
format_spec
A pointer to a character string that contains the format specification. For more information on format specifications and conversion characters, see Chapter 2.
. . .
Optional expressions whose resultant types correspond to conversion specifications given in the format specification.

If no conversion specifications are given, the output sources can be omitted. Otherwise, the function calls must have exactly as many output sources as there are conversion specifications, and the conversion specifications must match the types of the output sources.

Conversion specifications are matched to output sources in left-to- right order. Any excess output sources are ignored.

Description

An example of a conversion specification follows:
#include <stdio.h>

main()
{
   int  temp = 4, temp2 = 17;

   fprintf(stdout, "The answers are %d, and %d.", temp, temp2);
}

Sample output (to the stdout file) from the previous example is as follows:

The answers are 4, and 17.

For a complete description of the format specification and the output source, see Chapter 2.

Return Values
The number of bytes written, excluding the null terminator. 
Negative value  Indicates an error. The function sets errno to one of the following:

  • EILSEQ - Invalid character detected.

  • EINVAL - Insufficient arguments.

  • ENOMEM - Not enough memory available for conversion.

  • ERANGE - Floating-point calculations overflow.

  • EVMSERR - Non-translatable VMS error. vaxc$errno contains the VMS error code. This might indicate that conversion to a numeric value failed because of overflow.
 
  The function can also set errno to the following as a result of errors returned from the I/O subsystem:

  • EBADF - The file descriptor is not valid.

  • EIO - I/O error.

  • ENOSPC - No free space on the device containing the file.

  • ENXIO - Device does not exist.

  • EPIPE - Broken pipe.

  • ESPIPE - Illegal seek in a file opened for append.

  • EVMSERR - Non-translatable VMS error. vaxc$errno contains the VMS error code. This indicates that an I/O error occurred for which there is no equivalent C error code.
 


Previous Page | Next Page | Table of Contents | Index