C型本地化 clocale(locale.h)

本文详细介绍了C语言中的本地化功能,重点讨论了`LC_ALL`类型和`struct lconv`结构体,以及`localeconv`和`setlocale`函数的使用。`localeconv`用于获取当前区域的数字和货币格式信息,而`setlocale`则允许开发者切换不同的区域设置,如`LC_COLLATE`, `LC_CTYPE`, `LC_MONETARY`, `LC_NUMERIC`, `LC_TIME`或`LC_ALL`。此外,还探讨了如何通过不同参数设置来改变区域设置,如使用"C"恢复默认设置,使用空字符串采纳本地区域,或用NULL获取当前区域设置。" 128944426,12981785,负载均衡与Apache httpd换行漏洞解析,"['负载均衡', '运维', '服务器', '安全', 'Web开发']
摘要由CSDN通过智能技术生成
编写适应性强的程序,比如程序运行在美国的电脑,操作习惯是美国人的,运行在欧洲电脑上,就是欧洲人的,这种问题,其实在更早,大约当时的15年前就已经有有效果的解决方法。就是环境变量。在C语言中要读取到一个环境变量的值,可以用中定义的函数getenv。其实,区域设置本质上也就是这个问题,将货币处理设置相应的环境变量,数字,字符等,都设置上相应的环境变量,按照需要,总共应该有将近二十个环境变量,一一设置好了,问题就得以解决。
区域设置是一个比环境变量方法更改进的方案。你只要设置到一个区域,里面整套的几十个环境变量就相应的改变了。不用一一设置,不容易出错。这些环境变量大致可以分为以下几类(见p84):
控制整理顺序(LC_COLLATE);
字符分类(LC_CTYPE);
货币格式(LC_MONETARY);
其它的数据格式(LC_NUMERIC);
时间(LC_TIME);

LC_ALL

类型

struct lconv

关于区域设置的具体实现,各特征参数都记录在struct lconv结构体中

struct lconv
{
     char *currency_symbol;     //当前场所的地方货币符号
	 char *int_curr_symbol;    //当前场所的国际货币符号
     char *mon_decimal_point; 	//货币量的小数点
     char *mon_grouping;        //货币量每个数字组的尺寸
     char *mon_thousands_sep; 	//货币量小数点左边的数字分组字符
     char *negative_
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值