NAME(名稱)
- Provided by: manpages-zh (Version: 1.6.3.3-2)
- Report a bug
#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