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

関連情報