字符分类和字符转换宏已在 /usr/include/ctype.h 中进行定义。当前 Solaris 环境提供一组 ctype 宏,该组宏支持由 XPG4 定义的字符分类和转换语义。要使所有 XPG4 和 XPG4.2 应用程序自动访问新的宏,必须满足下列条件之一:
定义了 _XPG4_CHAR_CLASS。
已经定义 _XOPEN_SOURCE 和 _XOPEN_VERSION=4。
已经定义 _XOPEN_SOURCE 和 _XOPEN_SOURCE_EXTENDED=1。
因为 _XOPEN_SOURCE、_XOPEN_VERSION 和 _XOPEN_SOURCE_EXTENDED 除了引入新的 ctype 宏以外,还引入了其他的 XPG4 相关功能,所以非 XPG4 或 XPG4.2 应用程序应该使用 __XPG4_CHAR_CLASS__。
还存在相应的 ctype 函数。当前 Solaris 环境函数也支持 XPG4 语义。