?
This document uses PHP Chinese website manual Release
在頭文件<locale.h>中定義 | ||
---|---|---|
#define LC_ALL / *實(shí)現(xiàn)定義* / | ||
#define LC_COLLATE / *實(shí)現(xiàn)定義* / | ||
#define LC_CTYPE / *實(shí)現(xiàn)定義* / | ||
#define LC_MONETARY / *實(shí)現(xiàn)定義* / | ||
#define LC_NUMERIC / *實(shí)現(xiàn)定義* / | ||
#define LC_TIME / *實(shí)現(xiàn)定義* / |
上述每個(gè)宏常量都擴(kuò)展為具有不同值的整數(shù)常量表達(dá)式,這些值適合用作第一個(gè)參數(shù)setlocale
。
不變 | 說明 |
---|---|
LC_ALL | 選擇整個(gè)C語言環(huán)境 |
LC_COLLATE | 選擇C語言環(huán)境的歸類類別 |
LC_CTYPE | 選擇C語言環(huán)境的字符分類類別 |
LC_MONETARY | 選擇C語言環(huán)境的貨幣格式類別 |
LC_NUMERIC | 選擇C語言環(huán)境的數(shù)字格式化類別 |
LC_TIME | 選擇C語言環(huán)境的時(shí)間格式類別 |
額外的宏常量,其名稱LC_
后面跟著至少一個(gè)大寫字母,可以在中定義locale.h
。例如,POSIX規(guī)范要求LC_MESSAGES(其控制,除其他事項(xiàng)外,perror
和strerror
),和GNU C庫另外限定LC_PAPER,LC_NAME,LC_ADDRESS,LC_TELEPHONE,LC_MEASUREMENT,和LC_IDENTIFICATION。
#include <stdio.h>#include <locale.h>#include <time.h>#include <wchar.h> int main(void){ setlocale(LC_ALL, "en_US.UTF-8"); // the C locale will be the UTF-8 enabled English setlocale(LC_NUMERIC, "de_DE"); // decimal dot will be German setlocale(LC_TIME, "ja_JP"); // date/time formatting will be Japanese wchar_t str[100]; time_t t = time(NULL); wcsftime(str, 100, L"%A %c", localtime(&t)); wprintf(L"Number: %.2f\nDate: %Ls\n", 3.14, str);}
輸出:
Number: 3,14Date: 月曜日 2011年12月19日 18時(shí)04分40秒
C11標(biāo)準(zhǔn)(ISO/IEC 9899:2011):
7.11/3本地化<locale.h>(p:224)
C99標(biāo)準(zhǔn)(ISO/IEC 9899:1999):
7.11/3本地化<locale.h>(p:205)
C89/C90標(biāo)準(zhǔn)(ISO/IEC 9899:1990):
4.4本地化<locale.h>
setlocale | 獲取并設(shè)置當(dāng)前的C語言環(huán)境(函數(shù)) |
---|
| 用于語言環(huán)境類別的C ++文檔|