catclose ()- 关闭消息目录
格式
#include <nl_types.h>
int catclose (nl_catd catd);语言级别
XPG4
线程安全
是
语言环境敏感
当在编译命令上指定 LOCALETYPE (*CLD) 时,此功能不可用。
集成文件系统界面
当在编译命令上指定 SYSIFCOPT (*NOIFSIO) 时,此功能不可用。
描述
catclose() 函数关闭先前打开的由 catd标识的消息目录。
返回值
如果成功执行关闭,那么将返回 0。 否则,将返回 -1 表示失败,如果 catd 不是有效的消息目录描述符,则可能发生这种情况。
errno 的值可以设置为:
- EBADF
- 目录描述符无效。
- EINTR
- 该功能被信号截断。
示例
#include <stdio.h>
#include <nl_types.h>
#include <locale.h>
/* Name of the message catalog is "/qsys.lib/mylib.lib/msgs.usrspc" */
int main(void) {
nl_catd msg_file;
char * my_msg;
char * my_locale;
setlocale(LC_ALL, NULL);
msg_file = catopen("/qsys.lib/mylib.lib/msgs.usrspc", 0);
if (msg_file != CATD_ERR) {
my_msg = catgets(msg_file, 1, 2, "oops");
printf("%s\n", my_msg);
catclose(msg_file);
}
}