nl_scanf(3int)nl_scanf(3int)Name
nl_scanf, nl_fscanf, nl_sscanf - convert formatted input
Syntax
#include <stdio.h>
int nl_scanf ( format [, pointer ] ... )
char *format;
int nl_fscanf ( stream, format [, pointer ] ... )
FILE *stream;
char *format;
int nl_sscanf ( s, format [, pointer ] ... )
char *s, *format;
Description
The international functions and are identical to and have been
superceded by the international functions and in libi. You should use
the and functions when you write new calls to convert formatted input
in international programs. For more information on these functions, see
the reference page.
You can continue to use existing calls to the or functions. These func‐
tions remain available for compatibility with XPG-2 conformant soft‐
ware, but may not be supported in future releases of the ULTRIX system.
The and international functions are similar to the standard I/O func‐
tion. (For more information on the standard I/O function, see reference
page.) The difference is that the international functions allow you to
use the %digit$ conversion character in place of the % 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 the % conversion character in the international functions.
However, you cannot mix the % conversion character with the %digit$
conversion character in a single call.
International Environment
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 is defined, its definition supersedes the
definition of LANG.
Restrictions
The (libc) has been updated. The %n code now processes even if no fur‐
ther input remains to be scanned.
Examples
The following shows an example of using the function:
nl_scanf("%2$s %1$d", integer, string)
If the input contains `` january 9 '', the function assigns 9 to inte‐
ger and ``january'' to string .
Return Values
These functions return either the number of items matched or EOF on end
of input, along with the number of missing or invalid data items.
See Alsointro(3int), setlocale(3), strtod(3), strtol(3), nl_printf(3int),
printf(3int), scanf(3int), getc(3s), printf(3s), scanf(3s)
Guide to Developing International Software
nl_scanf(3int)