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

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

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

 

1. 庫宏

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

序號宏 & 描述
1 lc_all
設(shè)置下面的所有選項。
2 lc_collate
影響 strcoll 和 strxfrm 函數(shù)。
3 lc_ctype
影響所有字符函數(shù)。
4 lc_monetary
影響 localeconv 函數(shù)提供的貨幣信息。
5 lc_numeric
影響 localeconv 函數(shù)提供的小數(shù)點格式化和信息。
6 lc_time
影響 strftime 函數(shù)。

 

. 庫函數(shù)

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

序號函數(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

以下是各字段的描述:

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

下面的值用于 p_sign_posnn_sign_posn:

描述
0 封裝值和 currency_symbol 的括號。
1 放置在值和 currency_symbol 之前的符號。
2 放置在值和 currency_symbol 之后的符號。
3 緊挨著放置在值和 currency_symbol 之前的符號。
4 緊挨著放置在值和 currency_symbol 之后的符號。

下一節(jié):c 庫函數(shù) setlocale()

c 簡介

相關(guān)文章
亚洲国产精品第一区二区,久久免费视频77,99V久久综合狠狠综合久久,国产免费久久九九免费视频