可以打开或者关闭线程相关区域设置(thread-specific locale)。把程序调整到特定的区域设置. 这些区域设置影响到C语言标准库的输入/输出函数. 所包含的函数 C语言本地化函数与数据类型定义在locale.h (clocale头文件用于C++). 批评 C语言标准中定义的区域设置函数的最大问题是, 例子 #include #include #include int main(void) { /* Locale is set to "C" before this. This call sets it to the "current locale" by reading environment variables: */ setlocale(LC_ALL, ""); const struct lconv * const currentlocale = localeconv(); printf("In the current locale, the default currency symbol is: %s\n", currentlocale->currency_symbol); return EXIT_SUCCESS; } 参考文献 glibc中定义的各种locale的列表, Visual C++运行时刻库定义了函数_configthreadlocale,此后,声明了C语言本地化函数。这意味着一个程序在一个时刻只能有一个locale设置。