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