<locale.h>
-- 函数
阅读:0
作者:严长生
localeconv() 返回区域设置中与数字和货币有关的信息
struct lconv* localeconv (void);
localeconv() 函数用来返回区域设置(地域设置、本地设置)中与数字和货币有关的信息。区域设置是与某个地区(或者说某个国家)的语言和文化相关的一系列内容,包含日期格式、数字格式、货币格式(例如货币符号、国际货币代码)、字符处理(例如字符分类)、字符比较(字符排序)等多个方面,其中数字和货币信息还包含了很多细节,为了便于管理,C语言将这些细节信息组织成一个结构体,它的名字就是 struct lconv。也就是说,struct lconv 是一个包含了与数字和货币有关的区域设置信息的结构体。
localeconv() 返回的是指向 lconv 结构体变量(数据)的指针。
参数
无返回值
返回指向 lconv 结构体变量(数据)的指针。注意:借助该指针并不能修改 lconv 结构体的数据,只有再次调用 localeconv(),或者通过 setlocale() 设置与数字和货币有关的地域信息时,lconv 结构体的数据才会被修改。
实例
输出 struct lconv 的所有成员。#include <stdio.h> #include <locale.h> #include <string.h> int main () { setlocale (LC_ALL,"zh_CN"); //在Windows下请写作setlocale (LC_ALL,"zh-CN"); struct lconv * lc; lc=localeconv(); printf ("decimal_point: %s\n",lc->decimal_point); printf ("thousands_sep: %s\n",lc->thousands_sep); printf ("grouping: %s\n",lc->grouping); printf ("int_curr_symbol: %s\n",lc->int_curr_symbol); printf ("currency_symbol: %s\n",lc->currency_symbol); printf ("mon_decimal_point: %s\n",lc->mon_decimal_point); printf ("mon_thousands_sep: %s\n",lc->mon_thousands_sep); printf ("mon_grouping: %s\n",lc->mon_grouping); printf ("positive_sign: %s\n",lc->positive_sign); printf ("negative_sign: %s\n",lc->negative_sign); printf ("frac_digits: %d\n",lc->frac_digits); printf ("p_cs_precedes: %d\n",lc->p_cs_precedes); printf ("n_cs_precedes: %d\n",lc->n_cs_precedes); printf ("p_sep_by_space: %d\n",lc->p_sep_by_space); printf ("n_sep_by_space: %d\n",lc->n_sep_by_space); printf ("p_sign_posn: %d\n",lc->p_sign_posn); printf ("n_sign_posn: %d\n",lc->n_sign_posn); printf ("int_frac_digits: %d\n",lc->int_frac_digits); printf ("int_p_cs_precedes: %d\n",lc->int_p_cs_precedes); printf ("int_n_cs_precedes: %d\n",lc->int_n_cs_precedes); printf ("int_p_sep_by_space: %d\n",lc->int_p_sep_by_space); printf ("int_n_sep_by_space: %d\n",lc->int_n_sep_by_space); printf ("int_p_sign_posn: %d\n",lc->int_p_sign_posn); printf ("int_n_sign_posn: %d\n",lc->int_n_sign_posn); return 0; }运行结果:
decimal_point: .
thousands_sep: ,
grouping:
int_curr_symbol: CNY
currency_symbol: ¥
mon_decimal_point: .
mon_thousands_sep: ,
mon_grouping:
positive_sign:
negative_sign: -
frac_digits: 2
p_cs_precedes: 1
n_cs_precedes: 1
p_sep_by_space: 0
n_sep_by_space: 0
p_sign_posn: 1
n_sign_posn: 4
int_frac_digits: 2
int_p_cs_precedes: 1
int_n_cs_precedes: 1
int_p_sep_by_space: 0
int_n_sep_by_space: 0
int_p_sign_posn: 1
int_n_sign_posn: 4
注意,最后六个成员变量是 C99 标准新加入的,请确认编译器是否支持。