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);  
}