2016-04-17 15 views
-1

よりspecificly、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

のgccを使用してWindows上で、これはうまく動作しない場合がありますように見えます。 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はワイド文字をサポートしていません...代わりに狭い文字を使用しましたが、この奇妙な出力が得られます。 λ룞誘因?띿쭊? –

関連する問題