概要
メッセージカタログを開く。
戻り値
備考
get()とclose()の実引数として使用できるcatalog型の値は、このメンバ関数を呼び出すことによってのみ取得できる。
例
メッセージカタログの形式と探索方法は処理系定義である。以下は、POSIXのcatgets形式のカタログを使用する処理系での例である。
メッセージのソースファイルhello.msgを、
$set 1
1 Hello, world!
2 Goodbye
POSIXのgencatコマンドでカタログファイルhello.catへ変換したものが存在するとする。
gencat hello.cat hello.msg
#include <iostream>
#include <locale>
int main()
{
std::locale loc = std::locale::classic();
const auto& msgs = std::use_facet<std::messages<char>>(loc);
// カタログを開く
std::messages_base::catalog cat = msgs.open("./hello.cat", loc);
// 開けた場合、0以上の値が返る
std::cout << std::boolalpha << (cat >= 0) << std::endl;
if (cat >= 0) {
msgs.close(cat);
}
}
出力例
true
- カタログを用意していない場合や、カタログ機構を持たない処理系では異なる結果となる。詳細は
messagesクラスのページを参照
バージョン
言語
- C++98