Linux で次のコードを試してみましたが、異なるLANG
設定では常に「C」を返します。
#include <iostream>
#include <locale.h>
#include <locale>
using namespace std;
int main()
{
cout<<"locale 1: "<<setlocale(LC_ALL, NULL)<<endl;
cout<<"locale 2: "<<setlocale(LC_CTYPE, NULL)<<endl;
locale l;
cout<<"locale 3: "<<l.name()<<endl;
}
$ ./a.out
locale 1: C
locale 2: C
locale 3: C
$
$ export LANG=zh_CN.UTF-8
$ ./a.out
locale 1: C
locale 2: C
locale 3: C
Linux (Ubuntu など) で現在のロケール設定を取得するにはどうすればよいですか?
もう 1 つの質問は、Windows でロケールを取得するのと同じ方法ですか?