C 語言基礎(chǔ)教程

C 語言流程控制

C 語言函數(shù)

C 語言數(shù)組

C 語言指針

C 語言字符串

C 語言結(jié)構(gòu)體

C 語言文件

C 其他

C 語言參考手冊

C 標(biāo)準(zhǔn)庫 <locale.h>

locale.h 頭文件定義了特定地域的設(shè)置,比如日期格式和貨幣符號(hào)。接下來我們將介紹一些宏,以及一個(gè)重要的結(jié)構(gòu) struct lconv 和兩個(gè)重要的函數(shù)。

庫宏

下面列出了頭文件 locale.h 中定義的宏,這些宏將在下列的兩個(gè)函數(shù)中使用:

序號(hào)宏 & 描述
1LC_ALL
設(shè)置下面的所有選項(xiàng)。
2LC_COLLATE
影響 strcoll 和 strxfrm 函數(shù)。
3LC_CTYPE
影響所有字符函數(shù)。
4LC_MONETARY
影響 localeconv 函數(shù)提供的貨幣信息。
5LC_NUMERIC
影響 localeconv 函數(shù)提供的小數(shù)點(diǎn)格式化和信息。
6LC_TIME
影響 strftime 函數(shù)。

庫函數(shù)

下面列出了頭文件 locale.h 中定義的函數(shù):

序號(hào)函數(shù) & 描述
1char *setlocale(int category, const char *locale)
設(shè)置或讀取地域化信息。
2struct lconv *localeconv(void)
設(shè)置或讀取地域化信息。

庫結(jié)構(gòu)

typedef struct {
   char *decimal_point;
   char *thousands_sep;
   char *grouping;    
   char *int_curr_symbol;
   char *currency_symbol;
   char *mon_decimal_point;
   char *mon_thousands_sep;
   char *mon_grouping;
   char *positive_sign;
   char *negative_sign;
   char int_frac_digits;
   char frac_digits;
   char p_cs_precedes;
   char p_sep_by_space;
   char n_cs_precedes;
   char n_sep_by_space;
   char p_sign_posn;
   char n_sign_posn;
} lconv

以下是各字段的描述:

序號(hào)字段 & 描述
1decimal_point
用于非貨幣值的小數(shù)點(diǎn)字符。
2thousands_sep
用于非貨幣值的千位分隔符。
3grouping
一個(gè)表示非貨幣量中每組數(shù)字大小的字符串。每個(gè)字符代表一個(gè)整數(shù)值,每個(gè)整數(shù)指定當(dāng)前組的位數(shù)。值為 0 意味著前一個(gè)值將應(yīng)用于剩余的分組。
4int_curr_symbol
國際貨幣符號(hào)使用的字符串。前三個(gè)字符是由 ISO 4217:1987 指定的,第四個(gè)字符用于分隔貨幣符號(hào)和貨幣量。
5currency_symbol
用于貨幣的本地符號(hào)。
6mon_decimal_point
用于貨幣值的小數(shù)點(diǎn)字符。
7mon_thousands_sep
用于貨幣值的千位分隔符。
8mon_grouping
一個(gè)表示貨幣值中每組數(shù)字大小的字符串。每個(gè)字符代表一個(gè)整數(shù)值,每個(gè)整數(shù)指定當(dāng)前組的位數(shù)。值為 0 意味著前一個(gè)值將應(yīng)用于剩余的分組。
9positive_sign
用于正貨幣值的字符。
10negative_sign
用于負(fù)貨幣值的字符。
11int_frac_digits
國際貨幣值中小數(shù)點(diǎn)后要顯示的位數(shù)。
12frac_digits
貨幣值中小數(shù)點(diǎn)后要顯示的位數(shù)。
13p_cs_precedes
如果等于 1,則 currency_symbol 出現(xiàn)在正貨幣值之前。如果等于 0,則 currency_symbol 出現(xiàn)在正貨幣值之后。
14p_sep_by_space
如果等于 1,則 currency_symbol 和正貨幣值之間使用空格分隔。如果等于 0,則 currency_symbol 和正貨幣值之間不使用空格分隔。
15n_cs_precedes
如果等于 1,則 currency_symbol 出現(xiàn)在負(fù)貨幣值之前。如果等于 0,則 currency_symbol 出現(xiàn)在負(fù)貨幣值之后。
16n_sep_by_space
如果等于 1,則 currency_symbol 和負(fù)貨幣值之間使用空格分隔。如果等于 0,則 currency_symbol 和負(fù)貨幣值之間不使用空格分隔。
17p_sign_posn
表示正貨幣值中正號(hào)的位置。
18n_sign_posn
表示負(fù)貨幣值中負(fù)號(hào)的位置。

下面的值用于 p_sign_posnn_sign_posn:

描述
0封裝值和 currency_symbol 的括號(hào)。
1放置在值和 currency_symbol 之前的符號(hào)。
2放置在值和 currency_symbol 之后的符號(hào)。
3緊挨著放置在值和 currency_symbol 之前的符號(hào)。
4緊挨著放置在值和 currency_symbol 之后的符號(hào)。
丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清