我有代表语言环境的字符串数据,例如“fr”或“en”。我需要将其转换为适当的 LCID 值,例如0x80c
or 0x409
。有没有函数或宏可以做到这一点?
我在 Windows 7 上使用 C++。
这些是 LCID 值,不确定 LID 是什么意思。您可以从 Vista 及更高版本中可用的 GetLocaleInfoEx() 中获取它们。您需要传递一个区域设置名称,例如“en-US”,这是确定语言区域所必需的。例如:
#include "stdafx.h"
#include <windows.h>
#include <assert.h>
int _tmain(int argc, _TCHAR* argv[])
{
LCID lcid = 0;
BOOL ok = GetLocaleInfoEx(L"en-US", LOCALE_RETURN_NUMBER | LOCALE_ILANGUAGE, (LPWSTR)&lcid, sizeof(lcid));
assert(ok);
wprintf(L"LCID = %04x\n", lcid);
return 0;
}
输出:LCID = 0409
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)