[Visual Studio C++] [MFC] setlocale()函式使用講解
阿新 • • 發佈:2018-11-10
一.前言
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);
}