Creates a new locale, inheriting some properties from an existing locale.
The
mask
defines the components that the new locale will have set to the locale with the
name specified in the
locale
parameter.
Any components not specified in
mask
will be inherited from the locale referenced by
base,
if
base
is not
NULL.
If the call is successful, the state of the locale referenced by
base
is unspecified, and it must not be accessed.
The special locale
LC_GLOBAL_LOCALE
may not be specified for
base.
The
mask
is either
LC_ALL_MASK,
indicating all possible locale components,
or the logical OR of some combination of the following:
LC_COLLATE_MASK
|
The locale for string collation routines.
This controls alphabetic ordering in
strcoll(3)
and
strxfrm(3).
|
LC_CTYPE_MASK
|
The locale for the
ctype(3)
and
multibyte(3)
functions.
This controls recognition of upper and lower case, alphabetic or
non-alphabetic characters, and so on.
|
LC_MESSAGES_MASK
|
|
Set a locale for message catalogs, see
catopen(3)
function.
|
LC_MONETARY_MASK
|
|
Set a locale for formatting monetary values; this affects
the
localeconv(3)
function.
|
LC_NUMERIC_MASK
|
Set a locale for formatting numbers.
This controls the formatting of decimal points in input and output of floating
point numbers in functions such as
printf(3)
and
scanf(3),
as well as values returned by
localeconv(3).
|
LC_TIME_MASK
|
Set a locale for formatting dates and times using the
strftime(3)
function.
|
This function uses the same rules for loading locale components as
setlocale(3).