最終更新日時:
が更新

履歴 編集

function
<locale>

std::locale::global

static locale global(const locale& loc); // (1) C++98

概要

グローバルロケールを設定する。

この関数は、C++のグローバルロケールをlocに設定する。さらに、locが名前を持つ場合は、C言語のstd::setlocale(LC_ALL, loc.name().c_str())を呼び出したのと同じ効果を持つ。そうでない場合、C言語のロケールへの影響は処理系定義である。

戻り値

この関数を呼び出す前のグローバルロケール。

備考

グローバルロケールを設定しても、既に構築済みのlocaleオブジェクトや、既にストリームにimbueされているロケールには影響しない。デフォルトコンストラクタで構築されるlocaleは、この関数で設定されたグローバルロケールのコピーとなる。

#include <iostream>
#include <locale>

int main()
{
  // グローバルロケールをCロケールに設定し、以前のグローバルロケールを取得する
  std::locale prev = std::locale::global(std::locale::classic());

  // 以降、デフォルト構築されるlocaleは"C"ロケールのコピーとなる
  std::locale current;
  std::cout << current.name() << std::endl;
}

出力

C

バージョン

言語

  • C++98

関連項目