最終更新日時:
が更新

履歴 編集

function
<locale>

std::messages::close

void close(catalog cat) const; // (1) C++98

概要

メッセージカタログを閉じる。

効果

do_close(cat)を呼び出す。

戻り値

なし

メッセージカタログの形式と探索方法は処理系定義である。以下は、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);

  if (cat >= 0) {
    std::cout << msgs.get(cat, 1, 1, "default message") << std::endl;

    // 使い終わったカタログを閉じる
    msgs.close(cat);

    std::cout << "closed" << std::endl;
  }
}

出力例

Hello, world!
closed

  • カタログを用意していない場合や、カタログ機構を持たない処理系では異なる結果となる。詳細はmessagesクラスのページを参照

バージョン

言語

  • C++98

関連項目