sscanf()

Scan input from a character string

Synopsis:

#include <stdio.h>

int sscanf( const char* in_string,
            const char* format,
            ... );

Arguments:

in_string
The string 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 sscanf() function scans input from the character string in_string, under control of the argument format. Following the format string is the list of addresses of items to receive values.

Returns:

The number of input arguments for which values were successfully scanned and stored, or EOF when the scanning is terminated by reaching the end of the input string.

Examples:

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

int main( void )
  {
    int day, year;
    char weekday[20], month[20];

    sscanf( "Thursday February 0025 1999",
      "%s %s %d  %d",
      weekday, month, &day, &year );
    printf( "%s %d, %d is a %s\n",
     month, day, year, weekday );
    return EXIT_SUCCESS;
  }

produces the following:

February 25, 1999 is a Thursday

Classification:

ANSI, POSIX 1003.1

Safety:  
Cancellation point No
Interrupt handler No
Signal handler Read the Caveats
Thread Yes

Caveats:

It's safe to call this function in a signal handler if the data isn't floating point.

Last modified: 2013-12-23

comments powered by Disqus