4.32 setlocale()

Defined in locale.h, the setlocale() function selects the appropriate locale as specified by the category and locale arguments.

Syntax

char *setlocale(int category, const char *locale);

Usage

Use the setlocale() function to change or query part or all of the current locale. The effect of the category argument for each value is:

LC_COLLATE

Affects the behavior of strcoll().

LC_CTYPE

Affects the behavior of the character handling functions.

LC_MONETARY

Affects the monetary formatting information returned by localeconv().

LC_NUMERIC

Affects the decimal-point character for the formatted input/output functions and the string conversion functions and the numeric formatting information returned by localeconv().

LC_TIME

Can affect the behavior of strftime(). For currently supported locales, the option has no effect.

LC_ALL

Affects all locale categories. This is the bitwise OR of all the locale categories.

A value of "C" for locale specifies the minimal environment for C translation. An empty string, "", for locale specifies the implementation-defined native environment. At program startup, the equivalent of setlocale(LC_ALL, "C") is executed.

Valid locale values depend on which __use_X_ctype symbol is imported (__use_iso8859_ctype, __use_sjis_ctype, or __use_utf8_ctype), and on user-defined locales.

Note:

Only one __use_X_ctype symbol can be imported.

Returns

If a pointer to a string is given for locale and the selection is valid, the string associated with the specified category for the new locale is returned. If the selection cannot be honored, a null pointer is returned and the locale is not changed.

A null pointer for locale causes the string associated with the category for the current locale to be returned and the locale is not changed.

If category is LC_ALL and the most recent successful locale-setting call uses a category other than LC_ALL, a composite string might be returned. The string returned when used in a subsequent call with its associated category restores that part of the program locale. The string returned is not modified by the program, but might be overwritten by a subsequent call to setlocale().

Non-ConfidentialPDF file icon PDF versionARM DUI0475M
Copyright © 2010-2016 ARM Limited or its affiliates. All rights reserved.