我正在从头开始编写自己的Posix C库,在国际化和ctype方面遇到了绊脚石。我在POSIX标准中看到了最终用户程序的几个函数,用于设置和访问locale.h头文件中的语言环境,但不是如何最初存储库所使用的语言环境文件中的语言环境信息。 这只是每个实施的一些非标准库内部自定义吗?
答案 0 :(得分:1)
POSIX指定可选的localedef
实用程序及其可以读取的语言环境源格式,并转换为您的实现在内部使用的任何数据格式。如果您选择支持localedef
,则语言环境的源结构是localedef
格式的数据,但您可以设计您喜欢的任何中间格式,以便在运行时轻松/高效/无论何种访问。
否则,如果您不支持localedef
,您实现区域设置的方式完全取决于您。 POSIX指定各种接口的行为方式,但不指定如何实现这些功能,以及自由度区域设置可能因此而异。符合条件的实现只能使用C / POSIX语言环境。