機能 |
localeconv関数の返却値のデータを保持する構造体を表す。
|
定義 |
#include <locale.h>
struct lconv
lconv構造体は以下のメンバを含む。標準のCロケール環境では記載の値を持つ。
型 | メンバ名 | 値 | 意味 |
char * | decimal_point; | "." | 金額以外の数量の小数点文字 |
char * | thousands_seq; | "" | 金額以外の数量の整数部グループの区切り文字 |
char * | grouping; | "" | 金額以外の数量の各グループの桁数 |
char * | mon_decimal_point; | "" | 金額数量の小数点文字 |
char * | mon_thousands_sep; | "" | 金額数量の整数部グループの区切り文字 |
char * | mon_grouping; | "" | 金額数量の各グループの桁数 |
char * | positive_sign; | "" | 金額数量が無符号であることを示す文字 |
char * | negative_sign; | "" | 金額数量が有符号であることを示す文字 |
char * | currency_symbol; | "" | 通貨記号 |
char | frac_digits; | CHAR_MAX | 金額数量の小数部の表示桁数 |
char | p_cs_precedes; | CHAR_MAX | 無符号金額数量の通貨記号の位置(1=前,0=後) |
char | n_cs_precedes; | CHAR_MAX | 有符号金額数量の通貨記号の位置(1=前,0=後) |
char | p_sep_by_space; | CHAR_MAX | 無符号金額数量の通貨記号、符号文字、区切り文字 |
char | n_sep_by_space; | CHAR_MAX | 有符号金額数量の通貨記号、符号文字、区切り文字 |
char | p_sign_posn; | CHAR_MAX | 無符号金額数量の符号の位置 |
char | n_sign_posn; | CHAR_MAX | 有符号金額数量の符号の位置 |
char * | int_curr_symbol; | "" | 国際通貨記号 |
char | int_frac_digits; | CHAR_MAX | 国際様式金額数量の小数部の表示桁数 |
char | int_p_cs_precedes; | CHAR_MAX | 国際様式無符号金額数量の通貨記号の位置(1=前,0=後) |
char | int_n_cs_precedes; | CHAR_MAX | 国際様式夕符号金額数量の通貨記号の位置(1=前,0=後) |
char | int_p_sep_by_space; | CHAR_MAX | 国際様式無符号金額数量の通貨記号、符号文字、区切り文字 |
char | int_n_sep_by_space; | CHAR_MAX | 国際様式有符号金額数量の通貨記号、符号文字、区切り文字 |
char | int_p_sign_posn; | CHAR_MAX | 国際様式無符号金額数量の符号の位置 |
char | int_n_sign_posn; | CHAR_MAX | 国際様式有符号金策数量の符号の位置 |
|
実装例 |
#include <locale.h>
#include <stdio.h>
int main(void)
{
struct lconv *plconv; /* lconvを受け取る変数の宣言 */
char *locale;
/* Cロケール環境における通貨記号の表示 */
locale = setlocale(LC_ALL, NULL);
plconv = localeconv();
printf("locale='%s'\n", locale);
printf("currency_symbol='%s'\n\n", plconv->currency_symbol);
/* 日本語環境における通貨記号の表示 */
locale = setlocale(LC_ALL, "Japanese");
plconv = localeconv();
printf("locale='%s'\n", locale);
printf("currency_symbol='%s'\n\n", plconv->currency_symbol);
/* 英語環境における通貨記号の表示 */
locale = setlocale(LC_ALL, "English");
plconv = localeconv();
printf("locale='%s'\n", locale);
printf("currency_symbol='%s'\n\n", plconv->currency_symbol);
return 0;
}
|
実行結果 |
locale='C'
currency_symbol=''
locale='Japanese_Japan.932'
currency_symbol='\'
locale='English_United States.1252'
currency_symbol='$'
|