fscanf

Performs formatted input from a specified file, interpreting it according to the format specification.

Format

#include  <stdio.h>

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

Arguments

file_ptr
A pointer to the file that provides input text.
format_spec
A pointer to a character string that contains the format specification. For more information on conversion characters, see Chapter 2.
. . .
Optional expressions whose results correspond to conversion specifications given in the format specification.

If no conversion specifications are given, you can omit the input pointers. Otherwise, the function calls must have exactly as many input pointers as there are conversion specifications, and the conversion specifications must match the types of the input pointers.

Conversion specifications are matched to input sources in left-to- right order. Excess input pointers, if any, are ignored.

Description

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

main ()
{
   int   temp, temp2;

   fscanf(stdin, "%d %d", &temp, &temp2);
   printf("The answers are %d, and %d.", temp, temp2);
}

Consider a file, designated by stdin, with the following contents:

4 17

The example conversion specification produces the following result:

The answers are 4, and 17.

For a complete description of the format specification and the input pointers, see Chapter 2.

Return Values
The number of successfully matched and assigned input items. 
EOF  Indicates that the end-of-file was encountered or a read error occurred. If a read error occurs, the function sets errno to one of the following:

  • EILSEQ - Invalid character detected.

  • EVMSERR - Non-translatable VMS error. vaxc$errno contains the VMS error code. This can indicate that conversion to a numeric value failed due to 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.

  • ENXIO - Device does not exist.

  • EPIPE - Broken pipe.

  • 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