locale getloc();
概要
ロケールを取得する。
戻り値
imbue
で設定されたロケール。
オブジェクトが構築されてから一度も imbue
が呼び出されていない場合には、オブジェクトが構築された際のグローバル C++ ロケール(つまり、locale()
)。
備考
- 設定されたロケールは、ロケール依存の入出力に使用される。ただし、
ios_base
自体にはロケール依存の入出力関数は存在しない。実際にロケール依存の入出力を行うのは、派生クラスであるbasic_istream
とbasic_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++: ??