Chapter 4. Localization <locale.h>

The header <locale.h> declares two functions, one type and several macros.

The type is

struct lconv

which contains members related to the formatting of numeric values. The structure shall contain at least the following members, in any order. The semantics of the members and their normal ranges is explained in the ANSI C specification section 7.4.2.1. In the “C” locale, the members shall have values specified in the comments.

struct lconv
{
  char *decimal_point;          /* "." */
  char *thousands_sep;          /* "" */
  char *grouping;               /* "" */
  char *int_curr_symbol;        /* "" */
  char *currency_symbol;        /* "" */
  char *mon_decimal_point;      /* "" */
  char *mon_thousands_sep;      /* "" */
  char *mon_grouping;           /* "" */
  char *positive_sign;          /* "" */
  char *negative_sign;          /* "" */
  char int_frac_digits;         /* CHAR_MAX */
  char frac_digits;             /* CHAR_MAX */
  char p_cs_precedes;           /* CHAR_MAX */
  char p_sep_by_space;          /* CHAR_MAX */
  char n_cs_precedes;           /* CHAR_MAX */
  char n_sep_by_space;          /* CHAR_MAX */
  char p_sign_posn;             /* CHAR_MAX */
  char n_sign_posn;             /* CHAR_MAX */
};

The macros defined are NULL and the following:

LC_ALL          
LC_COLLATE     
LC_CTYPE        
LC_MONETARY    
LC_NUMERIC     
LC_TIME     

The functions setlocale and localeconv are not supported in this version of the library.