最終更新日時:
が更新

履歴 編集

function
<ios>

std::ios_base::getloc

locale getloc();

概要

ロケールを取得する。

戻り値

imbue で設定されたロケール。
オブジェクトが構築されてから一度も imbue が呼び出されていない場合には、オブジェクトが構築された際のグローバル C++ ロケール(つまり、locale())。

備考

  • 設定されたロケールは、ロケール依存の入出力に使用される。ただし、ios_base 自体にはロケール依存の入出力関数は存在しない。実際にロケール依存の入出力を行うのは、派生クラスである basic_istreambasic_ostream(および、それらの派生クラス basic_iostream)である。

#include <iostream>
#include <sstream>
#include <locale>

int main()
{
  std::stringstream ss;
  std::cout << ss.getloc().name() << std::endl;
  ss.imbue(std::locale(""));
  std::cout << ss.getloc().name() << std::endl;
}

出力例

C
en_US.UTF-8

2 行目の出力は環境依存のため、上記の出力とは異なる可能性がある。
しかし、グローバル C++ ロケールはプログラム実行開始時には "C" ロケールであるため、1 行目の出力は必ず上記のようになるはずである。

バージョン

言語

  • C++98

処理系

  • Clang: 3.0, 3.1, 3.2, 3.3, 3.4, 3.5.0, 3.6.0, 3.7.0, 3.8.0
  • GCC: 4.3.6, 4.4.7, 4.5.4, 4.6.4, 4.7.3, 4.8.1, 4.8.2, 4.9.0, 4.9.1, 4.9.2, 5.1.0, 5.2.0, 6.0.0
  • ICC: ??
  • Visual C++: ??

参照