fscanf()

Scan input from a stream

Synopsis:

#include <stdio.h>

int fscanf( FILE* fp, 
            const char* format, 
            ... );

Since:

BlackBerry 10.0.0

Arguments:

fp
The stream that you want to read from.
format
A string that specifies the format of the input. For more information, see scanf(). The formatting string determines what additional arguments you need to provide.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The fscanf() function scans input from the stream specified by fp, under control of the argument format.

The fscanf() function is generally considered unsafe for string handling; it's safer to use fgets() to get a line of input and then use sscanf() to process the input.

Returns:

The number of input arguments for which values were successfully scanned and stored, or EOF if the scanning reached the end of the input stream before storing any values ( errno is set).

Examples:

Scan a date in the form "Friday March 26 1999":

#include <stdio.h>
#include <stdlib.h>

int main( void )
{
    int day;
    int year;
    char weekday[10];
    char month[10];
    FILE *in_data;

    in_data = fopen( "file", "r" );
    if( in_data != NULL ) {
        fscanf( in_data, "%10s %10s %d %d",
                weekday, month, &day, &year );

        printf( "Weekday=%s Month=%s Day=%d Year=%d\n",
                weekday, month, day, year );

        fclose( in_data );
        
        return EXIT_SUCCESS;
    }
    
    return EXIT_FAILURE;
}

Classification:

ANSI, POSIX 1003.1

Safety:  
Cancellation point Yes
Interrupt handler No
Signal handler No
Thread Yes

Last modified: 2014-06-24



Got questions about leaving a comment? Get answers from our Disqus FAQ.

comments powered by Disqus