scanf, fscanf, sscanf - convert formatted input
int scanf( format [, pointer ] ... )
int fscanf( stream, format [, pointer ] ... )
int sscanf( s, format [, pointer ] ... )
char *s, *format;
The international functions and are similar to the standard I/O func‐
tions. The difference is that the international functions allow you to
use the %digit$ conversion character in place of the I% character you
use in the standard I/O functions. The digit is a decimal digit n from
1 to 9. The international functions apply conversions to the n th
argument in the argument list, rather than to the next unused argument.
You can use % conversion character in the international functions.
However, you cannot mix the % conversion character with the %digit$
conversion character in a single call.
In all cases, uses the radix character and collating sequence that is
defined by the last successful call to category or If the radix or col‐
lating sequence is undefined, the function uses the C locale defini‐
LC_COLLATE Contains the user requirements for language, territory,
and codeset for the character collation format. affects
the behavior of regular expressions and the string col‐
lation functions in If is not defined in the current
environment, provides the necessary default.
LC_NUMERIC If this environment is set and valid, uses the interna‐
tional language database named in the definition to
determine radix character rules.
LANG If this environment variable is set and valid uses the
international language database named in the definition
to determine collation and character classification
rules. If or is defined, their definitions supersede
the definition of LANG.
The (libc) has been updated. The %n code now processes even if no fur‐
ther input remains to be scanned.
The following shows an example of using the function:
scanf("%2$s %1$d", integer, string)
If the input is `` january 9 '', the function assigns 9 to and ``janu‐
The function returns the number of successfully matched and assigned
input fields. This number can be zero if the function encounters
invalid input characters, as specified by the conversion specification,
before it can assign input characters.
If the input ends before the first conflict or conversion, returns EOF.
These functions return EOF on end of input and a short count for miss‐
ing or invalid data items.
In POSIX mode, the E, F, and X formats are treated the same as the e,
f, and x formats, respectively; otherwise, the upper-case formats
expect double, double, and long arguments, respectively.
See Alsointro(3int), setlocale(3), strtod(3), strtol(3), printf(3int),
getc(3s), printf(3s), scanf(3s)
Guide to Developing International Software