Пробовал следующий код в Linux, но всегда возвращаю 'C' под разными настройками LANG
.
#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)?
Другой вопрос: так же, как получить локаль в Windows?