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);
   }
}

相关信息