2017-03-20 132 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

相关问题