標準/拡張機能 | C/C++ | 依存項目 |
---|---|---|
XPG4 |
両方 |
#define _XOPEN_SOURCE
#include <nl_types.h>
char *catgets(nl_catd catd, int set_id, int msg_id, const char *s);
catgets() 関数は、catd が示すメッセージ・カタログ から set_id セットの msg_id メッセージを読み取ろうとします。catd 引数は、catopen() への以前の呼び出しで戻された メッセージ・カタログ記述子です。s 引数は、catgets() が識別メッセージを検索できない 場合に、この関数が戻すことになるデフォルトの メッセージ・ストリングを示します。
メッセージ送信元ファイルが gencat コマンドで 処理されるときに、これらのファイルの作成に 使用された CODESET が結果のメッセージ・カタログに 保管されます。catgets() 関数はこの CODESET 値を調べて、この値が 現行ロケールの CODESET 値と異なるかどうかを確認します。この値が異なった場合、catgets() は iconv() 関数を 使って、メッセージ・カタログからのメッセージ・テキストを 現行ロケールのコード・セットに変換します。デフォルトのメッセージ・ストリングは、この変換の影響を 受けません。iconv() が 2 つの CODESET で指定された変換を サポートしない場合、デフォルトのメッセージ・ストリングが 戻されます。
識別メッセージが正常に検索されると、catgets() は NULL 終了のメッセージ・ストリングを含む内部バッファー・エリア を指すポインターを戻します。