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

C 标准库 - <locale.h> C 标准库 - <locale.h>

描述

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"));
   strftime(buffer,80,"%c", timer );
   printf("Date is: %s\n", buffer);

  
   printf("Locale is: %s\n", setlocale(LC_ALL, "de_DE"));
   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

C 标准库 - <locale.h> C 标准库 - <locale.h>