C库最初如何读取区域设置文件

时间:2018-06-01 22:29:33

标签: c locale libc

我正在从头开始编写自己的Posix C库,在国际化和ctype方面遇到了绊脚石。我在POSIX标准中看到了最终用户程序的几个函数,用于设置和访问locale.h头文件中的语言环境,但不是如何最初存储库所使用的语言环境文件中的语言环境信息。 这只是每个实施的一些非标准库内部自定义吗?

1 个答案:

答案 0 :(得分:1)

POSIX指定可选的localedef实用程序及其可以读取的语言环境源格式,并转换为您的实现在内部使用的任何数据格式。如果您选择支持localedef,则语言环境的源结构是localedef格式的数据,但您可以设计您喜欢的任何中间格式,以便在运行时轻松/高效/无论何种访问。

否则,如果您不支持localedef,您实现区域设置的方式完全取决于您。 POSIX指定各种接口的行为方式,但不指定如何实现这些功能,以及自由度区域设置可能因此而异。符合条件的实现只能使用C / POSIX语言环境。