一.前言
Setlocale()是一个计算机函数,功能是用来配置地域的信息,设置当前程序使用的本地化信息。
二.讲解
1.函数的功能
- setlocale()函数
char *setlocale(int category, const char *locale)
设置或读取地域化信息。
2.函数使用
①.原型:
char *setlocale(int category, const char *locale)
②.参数:
- category 这是一个已命名的常量,指定了受区域设置影响的函数类别。
- LC_ALL 包括下面的所有选项。
- LC_COLLATE 字符串比较。参见 strcoll()。
- LC_CTYPE 字符分类和转换。例如 strtoupper()。
- LC_MONETARY 货币格式,针对 localeconv()。
- LC_NUMERIC 小数点分隔符,针对 localeconv()。
- LC_TIME 日期和时间格式,针对 strftime()。
- LC_MESSAGES 系统响应。
- locale 如果 locale 是 NULL 或空字符串 "",则区域名称将根据环境变量值来设置,其名称与上述的类别名称相同。
③.返回值:
如果成功调用 setlocale(),则返回一个对应于区域设置的不透明的字符串。如果请求无效,则返回值是 NULL。
④.实例:
#include <locale.h>
#include <stdio.h>
#include <time.h>
int main ()
{
time_t currtime;
struct tm *timer;
char buffer[100];
time( &currtime );
timer = localtime( &currtime );
printf("Locale is: %s\n", setlocale(LC_ALL, "en_GB"));
strftime(buffer,100,"%c", timer );
printf("Date is: %s\n", buffer);
printf("Locale is: %s\n", setlocale(LC_ALL, "de_DE"));
strftime(buffer,100,"%c", timer );
printf("Date is: %s\n", buffer);
return(0);
}