侧边栏壁纸
博主头像
noerror

虚灵不寐,众理具而万事出。

  • 累计撰写 239 篇文章
  • 累计创建 9 个标签
  • 累计收到 2 条评论
标签搜索

目 录CONTENT

文章目录

catopen函数用法详解

noerror
2022-10-14 / 0 评论 / 0 点赞 / 40 阅读 / 579 字 / 正在检测是否收录...

catopen函数用法详解

catopen函数简介

  • 头文件包含
#include <nl_types.h>
  • 函数定义
nl_catd catopen(const char * name , int  flag );
int catclose(nl_catd  catalog );

catopen函数常见使用错误

  • 编译错误
    warning: implicit declaration of function ‘catopen’ [-Wimplicit-function-declaration]
    解决办法:包含头文件
#include <nl_types.h>

catopen函数详细描述

函数catopen ()打开消息目录并返回目录描述符。在catclose ()或execve (2)之前,描述符一直有效。如果使用文件描述符来实现目录描述符,则将设置 FD_CLOEXEC 标志。
参数name指定要打开的消息目录的名称。如果name指定一个绝对路径(即包含(aq/(aq),那么name为消息目录指定一个路径名。否则,使用环境变量 NLSPATH 并用name代替 %N (请参见locale (7))当进程具有root权限时,未指定是否使用 NLSPATH 。如果 NLSPATH 在环境中不存在,或者消息目录无法在它指定的任何路径中打开,则使用实现定义的路径。当name0参数为 NL_CAT_LOCALE 时,后一个默认路径可能取决于 LC_MESSAGES 区域设置,当flag参数为0时,取决于 LANG 环境变量。更改区域设置的 LC_MESSAGES 部分可能会使打开的目录描述符无效。
catopen ()的flag参数用于指示要使用的语言的源。如果设置为NL_CAT_LOCALE ,则将使用LC_MESSAGES 的当前区域设置;否则,将使用 LANG 环境变量。
函数catclose ()关闭由catalog 标识的消息目录,它使对由catalog 定义的消息目录的任何后续引用无效

catopen函数返回值

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

catopen函数其他说明

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

0

评论区