C 標準ライブラリ - <locale.h>
はじめに
locale.h ヘッダー ファイルは、日付形式や通貨記号などのロケール固有の設定を定義します。次に、いくつかのマクロ、重要な構造体 struct lconv と 2 つの重要な関数を紹介します。
ライブラリ マクロ
ヘッダー ファイル locale.h で定義されているマクロを以下に示します。これらのマクロは、次の 2 つの関数で使用されます:
シリアル番号 | マクロと説明 |
---|---|
1 | 。 LC_ALL 以下のすべてのオプションを設定します。 |
2 | LC_COLLATE は、strcoll 関数と strxfrm 関数に影響します。 |
3 | LC_CTYPE は、すべてのキャラクター機能に影響します。 |
4 | LC_MONETARY は、localeconv 関数によって提供される通貨情報に影響します。 |
5 | LC_NUMERIC は、小数点の書式設定と localeconv 関数によって提供される情報に影響します。 |
6 | LC_TIME はstrftime関数に影響します。 |
ライブラリ関数
ヘッダーファイル locale.h で定義されている関数を以下に示します:
シリアル番号 | 関数と説明 |
---|---|
1 | char *setlocale(int category, const char *locale) ローカライズされた情報を設定または読み取ります。 |
2 | struct lconv *localeconv(void) ローカリゼーション情報を設定または読み取ります。 |
ライブラリ構造
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 | 小数点 非通貨値に使用される小数点文字。 |
2 | thousands_sep 非金額の千の区切り文字。 |
3 | グループ化 非貨幣数量における数値の各グループのサイズを表す文字列。各文字は整数値を表し、各整数は現在のグループ内のビット数を指定します。値 0 は、前の値が残りのグループに適用されることを意味します。 |
4 | int_curr_symbol 国際通貨記号に使用される文字列。最初の 3 文字は ISO 4217:1987 で指定されており、4 番目の文字は通貨記号と通貨金額を区切ります。 |
5 | currency_symbol 通貨のローカル記号。 |
6 | mon_decmal_point 通貨値に使用される小数点文字。 |
7 | mon_thousands_sep 通貨値の千の区切り文字。 |
8 | mon_grouping 通貨価値における数値の各グループのサイズを表す文字列。各文字は整数値を表し、各整数は現在のグループ内のビット数を指定します。値 0 は、前の値が残りのグループに適用されることを意味します。 |
9 | positive_sign 正の通貨値に使用される文字。 |
10 | negative_sign 負の通貨値に使用される文字。 |
11 | int_frac_digits 国際通貨値の小数点以下に表示される桁数。 |
12 | frac_digits 通貨値の小数点以下に表示される桁数。 |
13 | p_cs_precedes 1 に等しい場合、currency_symbol は正の通貨値の前に表示されます。 0 に等しい場合、currency_symbol は正の通貨値の後に表示されます。 |
14 | p_sep_by_space 1 に等しい場合、currency_symbol と正の通貨値はスペースで区切られます。 0 に等しい場合、currency_symbol と正の通貨値の間にスペースは使用されません。 |
15 | n_cs_precedes 1 に等しい場合、currency_symbol は負の通貨値の前に表示されます。 0 に等しい場合、currency_symbol は負の通貨値の後に表示されます。 |
16 | n_sep_by_space 1 に等しい場合、currency_symbol と負の通貨値はスペースで区切られます。 0 に等しい場合、currency_symbol と負の通貨値の間にスペースは使用されません。 |
17 | p_sign_posn は、正の通貨値における正の符号の位置を表します。 |
18 | n_sign_posn は、負の通貨値における負符号の位置を表します。 |
次の値は、p_sign_posnとn_sign_posnに使用されます:
の値 | の説明 |
---|---|
0 | 値とcurrency_symbolをカプセル化する括弧。 |
1 | value と通貨記号の前に配置される記号。 |
2 | valueとcurrency_symbolの後に配置されるシンボル。 |
3 | value と通貨記号の直前に配置される記号。 |
4 | valueとcurrency_symbolの直後に配置されるシンボル。 |