C 库函数 char *setlocale(int category, const char *locale) 设置或读取地域化信息。
下面是 setlocale() 函数的声明。
char *setlocale(int category, const char *locale)
如果成功调用 setlocale(),则返回一个对应于区域设置的不透明的字符串。如果请求无效,则返回值是 NULL。
下面的实例演示了 setlocale() 函数的用法。
#include <locale.h> #include <stdio.h> #include <time.h> int main () { time_t currtime; struct tm *timer; char buffer[80]; time( &currtime ); timer = localtime( &currtime ); printf("Locale is: %s\n", setlocale(LC_ALL, "en_GB.UTF-8")); strftime(buffer,80,"%c", timer ); printf("Date is: %s\n", buffer); printf("Locale is: %s\n", setlocale(LC_ALL, "de_DE.UTF-8")); strftime(buffer,80,"%c", timer ); printf("Date is: %s\n", buffer); return(0); }
让我们编译并运行上面的程序,这将产生以下结果:
Locale is: en_GB Date is: Thu 23 Aug 2012 06:39:32 MST Locale is: de_DE Date is: Do 23 Aug 2012 06:39:32 MST