C 标准库 - <locale.h>
C 标准库 - <locale.h>
简介
locale.h 头文件定义了特定地域的设置,比如日期格式和货币符号。接下来我们将介绍一些宏,以及一个重要的结构 struct lconv 和两个重要的函数。
库宏
下面列出了头文件 locale.h 中定义的宏,这些宏将在下列的两个函数中使用:
| 序号 | 宏 & 描述 |
|---|---|
| 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 | decimal_point 用于非货币值的小数点字符。 |
| 2 | thousands_sep 用于非货币值的千位分隔符。 |
| 3 | grouping 一个表示非货币量中每组数字大小的字符串。每个字符代表一个整数值,每个整数指定当前组的位数。值为 0 意味着前一个值将应用于剩余的分组。 |
| 4 | int_curr_symbol 国际货币符号使用的字符串。前三个字符是由 ISO 4217:1987 指定的,第四个字符用于分隔货币符号和货币量。 |
| 5 | currency_symbol 用于货币的本地符号。 |
| 6 | mon_decimal_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 | 放置在值和 currency_symbol 之前的符号。 |
| 2 | 放置在值和 currency_symbol 之后的符号。 |
| 3 | 紧挨着放置在值和 currency_symbol 之前的符号。 |
| 4 | 紧挨着放置在值和 currency_symbol 之后的符号。 |
C 标准库 - <locale.h>的更多相关文章
- C 标准库 - <setjmp.h>
C 标准库 - <setjmp.h> 简介 setjmp.h 头文件定义了宏 setjmp().函数 longjmp() 和变量类型 jmp_buf,该变量类型会绕过正常的函数调用和返回规 ...
- C 标准库 - ctype.h
C 标准库 - ctype.h This header declares a set of functions to classify and transform individual charact ...
- C 标准库 - string.h
C 标准库 - string.h This header file defines several functions to manipulate C strings and arrays. stri ...
- C 标准库 - <assert.h>
C 标准库 - <assert.h> 简介 C 标准库的 assert.h头文件提供了一个名为 assert 的宏,它可用于验证程序做出的假设,并在假设为假时输出诊断消息. 已定义的宏 a ...
- C 标准库 - <stdarg.h>
C 标准库 - <stdarg.h> 简介 stdarg.h 头文件定义了一个变量类型 va_list 和三个宏,这三个宏可用于在参数个数未知(即参数个数可变)时获取函数中的参数. 可变参 ...
- C 标准库 - <signal.h>
C 标准库 - <signal.h> 简介 signal.h 头文件定义了一个变量类型 sig_atomic_t.两个函数调用和一些宏来处理程序执行期间报告的不同信号. 库变量 下面是头文 ...
- C 标准库 - <math.h>
C 标准库 - <math.h> 简介 math.h 头文件定义了各种数学函数和一个宏.在这个库中所有可用的功能都带有一个 double 类型的参数,且都返回 double类型的结果. 库 ...
- C 标准库 - <limits.h>
C 标准库 - <limits.h> 简介 limits.h 头文件决定了各种变量类型的各种属性.定义在该头文件中的宏限制了各种变量类型(比如 char.int 和 long)的值. 这些 ...
- C 标准库 - <float.h>
C 标准库 - <float.h> 简介 C 标准库的 float.h 头文件包含了一组与浮点值相关的依赖于平台的常量.这些常量是由 ANSI C 提出的,这让程序更具有可移植性.在讲解这 ...
随机推荐
- 全套Office办公软件WORD/PPT/EXCEL视频教程 每日更新中
详情见Processon分享链接:https://www.processon.com/view/link/5b3f40abe4b09a67415e2bfc
- Struts has detected an unhandled exception异常
近期在写struts框架的时候会时不时的出现这个异常,多次实验以后发现,目前解决的方法只能通过重新部署项目再重新启动服务器解决,通常这个异常会出现在DMI即动态方法调用过程中.
- BZOJ2653 middle 【二分 + 主席树】
题目 一个长度为n的序列a,设其排过序之后为b,其中位数定义为b[n/2],其中a,b从0开始标号,除法取下整.给你一个 长度为n的序列s.回答Q个这样的询问:s的左端点在[a,b]之间,右端点在[c ...
- NOIP2017整数 【线段树】
题目 题目背景 在人类智慧的山巅,有着一台字长为10485761048576 位(此数字与解题无关)的超级计算机,著名理论计算机科 学家P博士正用它进行各种研究.不幸的是,这天台风切断了电力系统,超级 ...
- mybatis学习(十)——缓存介绍
与Hibernate一样,MyBatis 也提供了一级缓存和二级缓存的支持. 1.一级缓存:(本地缓存)SqlSession级别的缓存,默认一直开启的 , 与数据库同一次会话期间的数据会放到本地缓存中 ...
- 欧拉回路 & 欧拉路径
欧拉路径 & 欧拉回路 概念 欧拉路径: 如果图 G 种的一条路径包括所有的边,且仅通过一次的路径. 欧拉回路: 能回到起点的欧拉路径. 混合图: 既有无向边又有无向边的图. 判定 无向图 一 ...
- QTREE系列题目总结
$QTREE$ 就是一套树上数据结构练习题. 这套题貌似来源于 $SPOJ$,我是在 $luogu$ 看到的. $QTREE1$ 题意 一棵 $n$ 个点的带边权树,要求支持 单边改权值 和 询问路径 ...
- 加速和简化构建Docker(基于Google jib)
赵安家 2019年02月11日阅读 1518 关注 加速和简化构建Docker(基于Google jib) 介绍 其实jib刚发布时就有关注,但是一直没有用于生产,原因有二 基于 spotify/do ...
- linux centos7无法连接ssh
在centos7连接ssh时,参考了以下博文,终于完美解决 https://blog.csdn.net/trackle400/article/details/52755571 1. 首先,要确保Ce ...
- Filter里面实现未登录跳转,已登录权限判断
package com.erichfund.cljjfof.server.util; import java.io.IOException; /** * @author 作者 zhuzhengquan ...