C标准库源码解剖(10):区域设置函数locale.h

    国家、文化和语言规则集称为区域设置,locale.h头文件中定义了区域设置相关的函数。setlocale函数用于设置或返回当前的区域特性,localeconv用于返回当前区域中的数字和货币信息(保存在struct lconv结构实例中)。setlocale的第一个实参指定要改变的区域行为类别,预定义的setlocale类别有:
    LC_ALL:所有行为。
    LC_COLLATE:strcoll和strxfrm函数的行为。
    LC_CTYPE:ctype.h中的字符串处理函数行为。
    LC_MONETARY:localeconv返回的币值信息。
    LC_NUMERIC:localeconv返回的小数点和非币值信息。
    LC_TIME:strftime函数的行为。
    locale.h中内容如下:

    setlocale函数的实现代码比较复杂,这里就不解剖了。localeconv函数的代码比较简单,它先创建一个struct lconv实例result用来保存返回的信息,然后用编译器的内部宏来获取数字和货币的各个成员值,存入result中,然后返回。如下:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值