我正在尝试通过GetGeoInfo()获取国家/地区代码(例如:“UK”或“SI”或“GER”)。
GEOID GetUserGeoID(GEOCLASS_NATION);
目前从上面的函数中得到值16,但是查看表中没有数字16。
https://msdn.microsoft.com/en-us/library/windows/desktop/dd374073(v=vs.85).aspx
我知道它只有3-4行代码,但我似乎无法自己弄明白。任何帮助都会得到满足。
编辑:
GEOID myGEO = GetUserGeoID(GEOCLASS_NATION);
int sizeOfBuffer = GetGeoInfo(myGEO, GEO_ISO2, NULL, 0, 0);
WCHAR *buffer = new WCHAR[sizeOfBuffer];
int result = GetGeoInfo(myGEO, GEO_ISO2, buffer, sizeOfBuffer, 0);
让它显示我的国家/地区编号,但我不知道如何将其转换为ISO代码。
答案 0 :(得分:1)
获得国家ISO:
GEOID myGEO = GetUserGeoID(GEOCLASS_NATION);
int sizeOfBuffer = GetGeoInfo(myGEO, GEO_ISO2, NULL, 0, 0);
WCHAR *buffer = new WCHAR[sizeOfBuffer];
int result = GetGeoInfo(myGEO, GEO_ISO2, buffer, sizeOfBuffer, 0);
wcout<<buffer;
感谢@Christophe和@Thomas。