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 functions 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 function. (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 international 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.
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 integer 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 Also
intro(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)