Listing 5
void GetLatLong(CHAR* szData, TCHAR* pszLat, TCHAR* pszLon)
{
CHAR szLat[64], szLon[64];
CHAR* pszStart = strstr(szData, "<Latitude>");
if (pszStart)
{
pszStart+= strlen("<Latitude>" );
CHAR* pszEnd = strstr(szData, "</Latitude>");
int nLen = pszEnd-pszStart;
strncpy(szLat,pszStart, nLen );
strcpy(szLat + nLen, "\0");
}
pszStart = strstr(szData, "<Longitude>");
if (pszStart)
{
pszStart+= strlen("<Longitude>");
CHAR* pszEnd = strstr(szData, "</Longitude>");
int nLen = pszEnd-pszStart;
strncpy(szLon,pszStart, nLen);
strcpy(szLon + nLen, "\0");
}
DWORD dwSize = 0;
dwSize = MultiByteToWideChar (CP_ACP, 0, szLat, -1, NULL, 0);
MultiByteToWideChar (CP_ACP, 0, szLat, dwSize, pszLat, dwSize);
dwSize = MultiByteToWideChar (CP_ACP, 0, szLon, -1, NULL, 0);
MultiByteToWideChar (CP_ACP, 0, szLon, dwSize, pszLon, dwSize);
}