Some of the functionality described on this reference page extends
the ISO C standard. Any conflict between the
requirements described here and the ISO C standard is unintentional.
This volume of IEEE Std 1003.1-2001 defers to
the ISO C standard.
The <locale.h> header shall provide a definition for lconv
structure, which shall include at least the
following members. (See the definitions of LC_MONETARY in LC_MONETARY
and
LC_NUMERIC .)
char *currency_symbol
char *decimal_point
char frac_digits
char *grouping
char *int_curr_symbol
char int_frac_digits
char int_n_cs_precedes
char int_n_sep_by_space
char int_n_sign_posn
char int_p_cs_precedes
char int_p_sep_by_space
char int_p_sign_posn
char *mon_decimal_point
char *mon_grouping
char *mon_thousands_sep
char *negative_sign
char n_cs_precedes
char n_sep_by_space
char n_sign_posn
char *positive_sign
char p_cs_precedes
char p_sep_by_space
char p_sign_posn
char *thousands_sep
The <locale.h> header shall define NULL (as defined in <stddef.h>
) and at
least the following as macros:
LC_ALL
LC_COLLATE
LC_CTYPE
LC_MESSAGES
LC_MONETARY
LC_NUMERIC
LC_TIME
which shall expand to distinct integer constant expressions, for use
as the first argument to the setlocale() function.
Additional macro definitions, beginning with the characters LC_
and an uppercase letter, may also be given here.
The following shall be declared as functions and may also be defined
as macros. Function prototypes shall be provided.
struct lconv *localeconv (void);
char *setlocale(int, const char *);
The following sections are informative.