NAME(名 稱 )
locale - 描 述 多 語 言 支 持
SYNOPSIS(總 覽 )
#include <locale.h>
DESCRIPTION(描 述 )
locale 就
是 一 系 列 語 言
文 化 規 則 . 它 包
括 如 下 一 些 方
面 : 訊 息 的 語 言 ,
不 同 字 符 設 置 ,
文 字 慣 例 , 等 等 .
程 序 需 要 能 夠
判 斷 其 locale 並 根 據
適 合 於 不 同 文
化 的 要 求 來 運
行 . 頭 文 件
<locale.h> 聲 明 瞭 用
於 該 項 作 業 中
的 數 據 類 型 ,函
數 和 宏 . 它 聲 明
的 函 數 有 : setlocale()
用 來 設 置 當 前
locale, localeconv() 用 來 獲
得 數 字 格 式 方
面 的 信 息 . 程 序
可 能 需 要 的 本
地 化 信 息 會 有
不 同 的 種 類 ; 它
們 都 以 宏 的 方
式 聲 明 把 它 們
當 做 setlocale() 的 第
一 個 參 數 來 用 ,
就 可 以 把 其 中
一 個 設 置 爲 需
要 的 locale:
LC_COLLATE 這 用 來 修 改
函 數 strcoll() 和 strxfrm()
的 執 行 方 式 , 其
中 strxfrm() 函 數 用 來
以 本 地 化 字 母
表 進 行 字 符 串
比 較 . 例 如 , 德 國
升 半 音 的 s 排 序
爲 "ss".
LC_CTYPE 修 改 字 符 處
理 分 類 函 數 如
isupper() 和 toupper() 的 執
行 方 式 , 還 修 改
多 字 節 字 符 函
數 如 mblen() 或 者
wctomb() 的 執 行 方 式
.
LC_MONETARY 修 改 由
localeconv() 返 回 的 信
息 , 這 些 信 息 描
述 了 數 字 , 以 及
諸 如 小 數 點 和
千 進 位 逗 號 之
類 輸 出 的 常 見
格 式 的 細 節 . 這
些 信 息 由 函 數
strfmon() 在 內 部 調
用 .
LC_MESSAGES 修 改 顯 示 的
語 言 信 息 以 及
正 值 和 負 值 的
表 達 方 式 . GNU C-library包
含 : rpmatch() 函 數 用
於 方 便 地 使 用
這 些 信 息 .
LC_NUMERIC 在 考 慮 使 用
locale 設 置 時 ,修 改
printf() 和 scanf() 函 數
族 使 用 的 信 息
.該 信 息 也 可 以
由 localeconv() 函 數 讀
取 .
LC_TIME 修 改 strftime() 函
數 的 執 行 方 式
以 顯 示 適 於 當
地 格 式 的 當 前
時 間 ; 例 如 ,歐 洲
的 絕 大 部 分 地
區 使 用 的 是 24 小
時 的 時 鐘 , 而 美
國 則 是 12 小 時 的
時 鐘 .
LC_ALL 上 述 所 有 的 |
. |
如 果 setlocale() 的 第 二 個 參 數 爲 空 , 則 設 置 "", 爲 默 認 的 locale,它 通 過 以 下 幾 步 來 確 定 :
1. 如 果 有 非 空 的 環 境 變 量 |
LC_ALL, 則 使 用 LC_ALL 的 值 .
的 種 類 同 名 的 環 境 變 量 並 且 其 不 爲 空 , 則 使 用 該 分 類 的 值 . 空 的 環 境 變 量 LANG, 則 使 用 LANG 的 值 . 關 於 本 地 數 字 格 式 的 值 用 於 由 localeconv() 函 數 返 回 的 struct lconv , 其 有 以 下 聲 明 : struct lconv char
*decimal_point; /* 小 數 點 字
符 . */ /* 貨 幣 信 息 . */ /* 前
三 個 字 符 是 ISO
4217定 義 的 流 通 符
號 . 第 四 個 字 符
是 分 隔 符 CONFORMS TO(遵 循 規 則 )POSIX.1 SEE ALSO(另 見 )setlocale(3), localeconv(3), locale(1), localedef(1), rpmatch(3), strfmon(3), strcoll(3), strxfrm(3), strftime(3) [中 文 版 維 護 人 ]riser <boomer [AT] ccidnet.com> [中 文 版 最 新 更 新 ]2001/07/19 《 中 國 linux論 壇 man手 冊 頁 翻 譯 計 劃 》 :跋本 頁 面 中 文 版 由 中 文 man 手 冊 頁 計 劃 提 供 。 中 文 man 手 冊 頁 計 劃 : https://github.com/man-pages-zh/manpages-zh |