[Visual Studio C++] [MFC] setlocale()函数使用讲解

一.前言        

       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);
}

猜你喜欢

转载自blog.csdn.net/Robot_Starscream/article/details/83042480
今日推荐