catgets -
メッセージカタログからメッセージを取り出す
#include <nl_types.h>
char *catgets(nl_catd catalog, int set_number, int message_number,
const char *message);
catgets() は catalog
で指定されたメッセージカタログから、
セット
set_number
のメッセージ
message_number
を読み取る。
catalog
は、
catopen(3)
の呼び出しによって得られたカタログ
ディスクリプターを指定する。
4番目の引数
message
は、指定のメッセージカタログが現在利用できない
場合に
catgets()
が返すデフォルトのメッセージを指す。
メッセージテキストは内部のバッファー領域に格納されており、
保存や変更を行う場合にはアプリケーション側でコピーする必要がある。
返される文字列は常にヌルバイト
('\0') で終端される。
成功した場合、
catgets()
は内部のバッファー領域へのポインターを返す。
ここにはヌル文字で終端されたメッセージ文字列が格納されている。
失敗した場合は
message
を返す。
この節で使用されている用語の説明については、
attributes(7) を参照。
インターフェース |
属性 |
値 |
catgets() |
Thread safety |
MT-Safe |
POSIX.1-2001, POSIX.1-2008.
catgets() 関数は libc.so.4.4.4c
以降でしか使えない。
Jan 1987 X/Open Portability Guide
では、エラーの時に
返される値により微妙な指定をしている。
catalog
で指定されたメッセージカタログが利用できない場合は
message
を返し、一方メッセージカタログはあるが指定したメッセージがない場合は
空の文字列が返される。
SUSv2
ではこの二種類のエラーリターンは廃止され、
常に
message
を返すことにしたようである。
catopen(3),
setlocale(3)
この man ページは Linux
man-pages
プロジェクトのリリース
5.10
の一部である。プロジェクトの説明とバグ報告に関する情報は
https://www.kernel.org/doc/man-pages/
に書かれている。