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 |