2017-03-20 129 views
0

我擁有映射到英語的語言名稱「en-US」或「en」。我想將其轉換爲其語言代碼0x0409。如何從C++中的語言ID獲取語言名稱?

在C++中是否有內置的windows API我可以用它來做或我必須自己實現它?

編輯:我在我原來的問題中犯了一個錯誤。

回答

3

使用GetLocaleInfoLOCALE_SNAME locale information type

int locale_id = 0x0409; 
constexpr int max_locale_sname_len = 85; 
TSTR[max_locale_sname_len] locale_iso_name; 
int result = GetLocaleInfo(
    MAKELCID(locale_id), 
    LOCALE_SNAME, 
    locale_iso_name, 
    max_locale_sname_len 
); 
+0

爾加,您的編輯做出這樣的回答沒用。現在不用擔心重寫它,但答案保持相似,只需使用具有適當常量的'GetLocaleInfoEx'代替。 –

+0

這回答我原來的問題,謝謝。儘管我犯了一個錯誤,但它應該是相反的。我會嘗試使用GetLocalInfoEx,謝謝! – jebusayah

相關問題