LOCALE(7) | Linux Programmer's Manual(Linux程序员手册) | LOCALE(7) |
locale - 描述多语言支持
#include <locale.h>
locale 就是一系列语言文化规则. 它包括如下一些方面: 讯息的语言, 不同字符设置, 文字惯例, 等等. 程序需要能够判断其 locale 并根据适合于不同文化的要求来运行.
头文件 <locale.h> 声明了用于该项作业中的数据类型,函数和宏.
它声明的函数有: setlocale() 用来设置当前 locale, localeconv() 用来获得数字格式方面的信息.
程序可能需要的本地化信息会有不同的种类; 它们都以宏的方式声明 把它们当做 setlocale() 的第一个参数来用, 就可以把其中一个设置为需要的 locale:
如果 setlocale() 的第二个参数为空, 则设置 "", 为默认的locale,它通过以下几步来确定:
关于本地数字格式的值用于由 localeconv() 函数返回的 struct lconv , 其有以下声明:
struct lconv { /* 数码(非货币形式)信息. */ char *decimal_point; /* 小数点字符. */ char *thousands_sep; /* 千数的分隔符. */ /* 每个元素就是每组的阿拉伯数字;指数越高的元素在越左边.一个值为CHAR_MAX的元素表示不需继续 分组了.一个值为0的元素表示前面的字符用于所有更左边的组. */ char *grouping; /* 货币信息. */ /* 前三个字符是ISO 4217定义的流通符号. 第四个字符是分隔符. 第五个字符是' '. */ 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; /* 本地使用的数字. */ /* 如果currency_symbol后跟着一个正值则为1,如果顺序相反为0. */ char p_cs_precedes; /* 如果在currency_symbol和正值之间是一个空格则为1. */ char p_sep_by_space; /* 如果currency_symbol后跟着一个负值则为1,如果顺序相反为0. */ char n_cs_precedes; /* 如果在currency_symbol和正值之间是一个空格则为1. */ char n_sep_by_space; /* 正值和负值符号位置: 数量值和currency_symbol在圆括号内则为0. 符号字符串先于数量值和currency_symbol则为1. 符号字符串在数量值和currency_symbol之后则为2. 符号字符串后紧跟数量值和currency_symbol则为3. 符号字符串紧跟在数量值和currency_symbol之后则为4. */ char p_sign_posn; char n_sign_posn; };
POSIX.1
setlocale(3), localeconv(3), locale(1), localedef(1), rpmatch(3), strfmon(3), strcoll(3), strxfrm(3), strftime(3)
riser <boomer@ccidnet.com>
2001/07/19
http://cmpp.linuxforum.net
本页面中文版由中文
man 手册页计划提供。
中文 man
手册页计划:https://github.com/man-pages-zh/manpages-zh
1993年4月24日 | Linux |