说明

函数catopen()打开消息目录并返回目录描述符。描述符在catclose()或execve(2)之前一直有效。如果使用文件描述符来实现目录描述符,则将设置FD_CLOEXEC标志。

参数名称指定要打开的消息目录的名称。如果name指定绝对路径(即包含aq / aq),则name指定消息目录的路径名。否则,将使用环境变量NLSPATH来代替%N的名称(请参阅locale(7))。未指定当进程具有root特权时是否使用NLSPATH。如果环境中不存在NLSPATH,或者如果无法在其指定的任何路径中打开消息目录,则使用实现定义的路径。当flag参数为NL_CAT_LOCALE时,后一个默认路径可能取决于LC_MESSAGES语言环境设置,而当flag参数为0时,取决于LANG环境变量。更改语言环境的LC_MESSAGES部分可能会使打开的目录描述符无效。

catopen()的flag参数用于指示要使用的语言的来源。如果将其设置为NL_CAT_LOCALE,则它将对LC_MESSAGES使用当前的语言环境设置。否则,它将使用LANG环境变量。

函数catclose()关闭目录标识的消息目录。它会使对目录定义的消息目录的所有后续引用无效。

CATOPEN - Linux手册页

Linux程序员手册 第3部分
更新日期: 2015-08-08

另外参见

catgets(3),setlocale(3)

语法

#包括

nl_catd catopen(const char * name,int flag);复制代码

int catclose(nl_catd目录);

返回值

成功时,函数catopen()返回nl_catd类型的消息目录描述符。失败时,它返回(nl_catd)-1并设置errno来指示错误。可能的错误值包括open(2)调用的所有可能的值。

函数catclose()成功返回0,失败返回-1。

名称

catopen,catclose-打开/关闭消息目录

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/

属性

有关本节中使用的术语的说明,请参见attribute(7)。

InterfaceAttributeValue
catopen()Thread safetyMT-Safe env
catclose()Thread safetyMT-Safe

备注

以上是POSIX.1的描述。 NL_CAT_LOCALE的glibc值为1。默认路径有所不同,但通常查看/ usr / share / locale下的许多位置。

环境

LC_MESSAGES
可能是LC_MESSAGES语言环境设置的来源,因此,如果将标志设置为NL_CAT_LOCALE,则可以确定要使用的语言。
LANG
如果标志为0,则使用的语言。

遵循规范

POSIX.1-2001,POSIX.1-2008。

日期:2019-08-20 17:59:58 来源:oir作者:oir