C ++获取国家/地区代码

时间:2015-06-04 13:54:39

标签: c++ visual-studio geolocation country

我正在尝试通过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代码。

1 个答案:

答案 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。