2016-04-17 3 views
-1

Более специфически, в C++:Какое название локали для корейца?

#include <locale> 
#include <algorithm> 
#include <iostream> 
#include <string> 
int main() { 
    std::wstring v[3] = {L"홍진호", L"이상민", L"장동민"}; 
    std::locale loc("Korean.949"); 
    std::sort(v, v + 3, loc); 
    std::wcout.imbue(loc); 
    std::wcout << v[0] << ' ' << v[1] << ' ' << v[2] << std::endl; 
    return 0; 
} 

Это не работает. Я использую Windows 10 64bit, MinGW и GNU GCC 4.9.2.

Каково местное название для корейского языка, для loc?

ответ

0

https://stackoverflow.com/a/4497266/1670021

Похоже, на Windows, с помощью GCC, это не может хорошо работать. Возможно, вы сможете использовать C setlocale, но это не отличный вариант. Может быть, использование пустой строки будет работать для вашего случая использования?

+0

Это может быть проблемой, но здесь дело не в этом. «Korean.949» не является допустимым именем, поэтому я спрашиваю, что это правильно. –

+0

Ну, вы можете попробовать «.949» или «ko_KR». См. Здесь: http://stackoverflow.com/questions/4406895/what-stdlocale-names-are-available-on-common-windows-compilers - имена локалей определяются реализацией. –

+0

Это имя действительно, но, к сожалению, MinGW не поддерживает широкие символы ... Вместо этого я использовал узкие символы, но я получаю этот странный вывод:? 띿쭊 ??? 댁긽 誘 ?? λ 룞 誘 ? 댁긽 誘 ?? λ 룞 誘 ?? 띿쭊? –