C語言 庫函數(shù) setlocale()
C語言 庫函數(shù) setlocale()
C 庫函數(shù) char *setlocale(int category, const char *locale) 設(shè)置或讀取地域化信息。
1. 聲明
下面是 setlocale() 函數(shù)的聲明。
char *setlocale(int category, const char *locale)
2. 參數(shù)
- category -- 這是一個已命名的常量,指定了受區(qū)域設(shè)置影響的函數(shù)類別。
- LC_ALL 包括下面的所有選項。
- LC_COLLATE 字符串比較。參見 strcoll()。
- LC_CTYPE 字符分類和轉(zhuǎn)換。例如 strtoupper()。
- LC_MONETARY 貨幣格式,針對 localeconv()。
- LC_NUMERIC 小數(shù)點分隔符,針對 localeconv()。
- LC_TIME 日期和時間格式,針對 strftime()。
- LC_MESSAGES 系統(tǒng)響應(yīng)。
- locale -- 如果 locale 是 NULL 或空字符串 "",則區(qū)域名稱將根據(jù)環(huán)境變量值來設(shè)置,其名稱與上述的類別名稱相同。
3. 返回值
如果成功調(diào)用 setlocale(),則返回一個對應(yīng)于區(qū)域設(shè)置的不透明的字符串。如果請求無效,則返回值是 NULL。
4. 實例
下面的實例演示了 setlocale() 函數(shù)的用法。
#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); }
讓我們編譯并運行上面的程序,這將產(chǎn)生以下結(jié)果:
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
相關(guān)文章
- C語言 結(jié)構(gòu)體
- C語言 typedef
- C語言 標(biāo)準(zhǔn)庫 <assert.h>
- C# 程序結(jié)構(gòu)
- C# 運算符
- C# 運算符重載
- C# 接口 Interface
- C# 正則表達(dá)式
- C# 異常處理
- C++ 傳值調(diào)用
- C++ 類訪問修飾符
- C++ 中指向類的指針
- C++ 關(guān)系運算符重載
- C# for/foreach 循環(huán)
- C# break 語句
- C語言 庫函數(shù) fopen()
- C語言 庫函數(shù) getc()
- C語言 庫函數(shù) qsort()
- C語言 庫函數(shù) ldiv()
- C語言 庫函數(shù) isalnum()