Как изменить локаль в MinGW - PullRequest
0 голосов
/ 08 декабря 2018

Кажется, что только язык "C" работает с MinGW.Я попытался пример, найденный здесь , и запятые не были добавлены, даже если системный языковой стандарт установлен в Канаде.

#include <iostream>
#include <locale>

int main()
{
    std::wcout << "User-preferred locale setting is " << std::locale("").name().c_str() << '\n';
    // on startup, the global locale is the "C" locale
    std::wcout << 1000.01 << '\n';
    // replace the C++ global locale as well as the C locale with the user-preferred locale
    std::locale::global(std::locale(""));
    // use the new global locale for future wide character output
    std::wcout.imbue(std::locale());
    // output the same number again
    std::wcout << 1000.01 << '\n';
}

Вывод

User-preferred locale setting is C
100000
100000

Я пыталсяstd::locale("en-CA") и получите locale::facet::_S_create_c_locale name not valid во время выполнения.Я компилирую из CMD, используя g ++.Я использую 64-битную Windows 10.

Также я попытался скомпилировать эту программу, найденную в принятом ответе здесь, и получил ошибку компилятора 'LOCALE_ALL' was not declared in this scope.

Как установить для языка в MinGW значениесистема по умолчанию или что-то явное?

...