I am trying to use GetHostByName (), this requires const char *. I have a url in a variable that is in the wchar_t * value format. How can I convert this so GetHostByName can use it? Code.
BSTR bstr; pBrowser->get_LocationURL(&bstr); std::wstring wsURL; wsURL = bstr; size_t DSlashLoc = wsURL.find(L"://"); if (DSlashLoc != wsURL.npos) { wsURL.erase(wsURL.begin(), wsURL.begin() + DSlashLoc + 3); } DSlashLoc = wsURL.find(L"www."); if (DSlashLoc == 0) { wsURL.erase(wsURL.begin(), wsURL.begin() + 4); } DSlashLoc = wsURL.find(L"/"); if (DSlashLoc != wsURL.npos) { wsURL.erase(DSlashLoc); } wprintf(L"\n Current Website URL: %s\n\n", wsURL.c_str()); HOSTENT *pHostEnt; int **ppaddr; SOCKADDR_IN sockAddr; char* addr; pHostEnt = gethostbyname(wsURL.c_str()); ppaddr = (int**)pHostEnt->h_addr_list; sockAddr.sin_addr.s_addr = **ppaddr; addr = inet_ntoa(sockAddr.sin_addr); printf("\n Current Website IP:%s", addr); int length = WideCharToMultiByte (CP_ACP, WC_COMPOSITECHECK, wsURL.c_str(), -1, NULL, 0, NULL, NULL); std::string LogURL(length+1, 0); int result = WideCharToMultiByte (CP_ACP, WC_COMPOSITECHECK, wsURL.c_str(), -1, &LogURL[0],length+1, NULL, NULL); myfile << "\n Current Website URL:" << LogURL; myfile << "\n Current Website IP:"<< addr;
This is the error I am getting. IntelliSense: an argument of type const wchar_t * is incompatible with a parameter of type const char *
source share