fscanf, fwscanf (Windows CE 5.0)

Send Feedback

Developing an Application > Microsoft C Run-time Library for Windows CE > Run-time Library Reference

Read formatted data from a stream.

int fscanf(    FILE*stream, 
   const char*format[, argument]... 
);int fwscanf(    FILE*stream,const wchar_t*format[, argument]... 
);

Parameters

  • stream
    Pointer to FILE structure.
  • format
    Format-control string.
  • argument
    Optional arguments.

Return Values

Each function returns the number of fields successfully converted and assigned; the return value does not include fields that were read but not assigned.

A return value of 0 indicates that no fields were assigned.

If an error occurs, or if the end of the file stream is reached before the first conversion, the return value is EOF for fscanf and fwscanf.

Remarks

The fscanf function reads data from the current position of stream into the locations given by argument (if any).

Each argument must be a pointer to a variable of a type that corresponds to a type specifier in format.

format controls the interpretation of the input fields and has the same form and function as the format argument for scanf; see scanf for a description of format.

If copying takes place between strings that overlap, the behavior is undefined.

fwscanf is a wide-character version of fscanf; the format argument to fwscanf is a wide-character string. These functions behave identically otherwise.

Generic-Text Routine Mappings

TCHAR.H Routine _UNICODE Defined
_ftscanf fwscanf

For more information about TCHAR.H routines, see Generic Text Mappings.

For more information about format specification, see Format Specification Fields: scanf and wscanf Functions.

Example

/* FSCANF.C: This program writes formatted
 * data to a file. It then uses fscanf to
 * read the various data back from the file.
 */

#include <stdio.h>

FILE *stream;

void main( void )
{
   long l;
   float fp;
   char s[81];
   char c;

   stream = fopen( "fscanf.out", "w+" );
   if( stream == NULL )
      printf( "The file fscanf.out was not opened\n" );
   else
   {
      fprintf( stream, "%s %ld %f%c", "a-string", 
               65000, 3.14159, 'x' );

      /* Set pointer to beginning of file: */
      fseek( stream, 0L, SEEK_SET );

      /* Read data back from file: */
      fscanf( stream, "%s", s );
      fscanf( stream, "%ld", &l );

      fscanf( stream, "%f", &fp );
      fscanf( stream, "%c", &c );

      /* Output data read: */
      printf( "%s\n", s );
      printf( "%ld\n", l );
      printf( "%f\n", fp );
      printf( "%c\n", c );

      fclose( stream );
   }
}

Output

a-string
65000
3.141590
x

Requirements

OS Versions: Windows CE 2.0 and later
Header: stdlib.h
Link Library: coredll.dll

See Also

fprintf | scanf | sscanf

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.