Export (0) Print
Expand All


Use the setlocale function to change or query some or all of the current program locale information. "Locale" refers to the locality (the Country/Region and language) for which you can customize certain aspects of your program. Some locale-dependent categories include the formatting of dates and the display format for monetary values. For more information, see Locale Categories.

For more information, see Locales and Code Pages.

Locale-Dependent Routines


setlocale category
setting dependence
atof, atoi, atol Convert character to floating-point, integer, or long integer value, respectively LC_NUMERIC
is Routines Test given integer for particular condition. LC_CTYPE
isleadbyte Test for lead byte () LC_CTYPE
localeconv Read appropriate values for formatting numeric quantities LC_MONETARY, LC_NUMERIC
MB_CUR_MAX Maximum length in bytes of any multibyte character in current locale (macro defined in STDLIB.H) LC_CTYPE
_mbccpy Copy one multibyte character LC_CTYPE1
_mbclen Return length, in bytes, of given multibyte character LC_CTYPE1
mblen Validate and return number of bytes in multibyte character LC_CTYPE1
_mbstrlen For multibyte-character strings: validate each character in string; return string length LC_CTYPE1
mbstowcs Convert sequence of multibyte characters to corresponding sequence of wide characters LC_CTYPE1
mbtowc Convert multibyte character to corresponding wide character LC_CTYPE1
printf functions Write formatted output LC_NUMERIC (determines radix character output)
scanf functions Read formatted input LC_NUMERIC (determines radix character recognition)
setlocale, _wsetlocale Select locale for program Not applicable
strcoll, wcscoll Compare characters of two strings LC_COLLATE
_stricmp, _wcsicmp, _mbsicmp Compare two strings without regard to case LC_CTYPE1
_stricoll, _wcsicoll Compare characters of two strings (case insensitive) LC_COLLATE
_strncoll, _wcsncoll Compare first n characters of two strings LC_COLLATE
_strnicmp, _wcsnicmp, _mbsnicmp Compare characters of two strings without regard to case. LC_CTYPE1
_strnicoll, _wcsnicoll Compare first n characters of two strings (case insensitive) LC_COLLATE
strftime, wcsftime Format date and time value according to supplied format argument LC_TIME
_strlwr Convert, in place, each uppercase letter in given string to lowercase LC_CTYPE
strtod, wcstod, strtol, wcstol, strtoul, wcstoul Convert character string to double, long, or unsigned long value LC_NUMERIC (determines radix character recognition)
_strupr Convert, in place, each lowercase letter in string to uppercase LC_CTYPE
strxfrm, wcsxfrm Transform string into collated form according to locale LC_COLLATE
tolower, towlower Convert given character to corresponding lowercase character LC_CTYPE
toupper, towupper Convert given character to corresponding uppercase letter LC_CTYPE
wcstombs Convert sequence of wide characters to corresponding sequence of multibyte characters LC_CTYPE
wctomb Convert wide character to corresponding multibyte character LC_CTYPE
_wtoi, _wtol Convert wide-character string to int or long LC_NUMERIC

1. For multibyte routines, the multibyte code page must be equivalent to the locale set with setlocale. _setmbcp, with an argument of _MB_CP_LOCALE makes the multibyte code page the same as the setlocale code page.

See Also

Internationalization | Run-Time Routines by Category | Run-Time Routines and .NET Framework Equivalents

© 2014 Microsoft