inet_addr
DWORD dwIP=0;
CString str=_T("127.0.0.1");
dwIP=inet_addr(str);
“inet_addr”: 不能将参数 1 从“wchar_t *”转换为“const char *”
怎么改啊,如果用
char* pC = (unsigned char*)(LPCTSTR)str;
dwIP=inet_addr(PC);
那么dwIp的ip地址会改变了
求解决方案(vs2008)
[解决办法]
在工程设置里面把字符集设置成“未设置”,或者把str转换成char,通过WideCharToMultiByte
[解决办法]
如果只能用unicode配置项目属性,那么必须转换
#include <atlstr.h>#include <atlconv.h>int main(){ USES_CONVERSION; CString str=_T("127.0.0.1"); DWORD dwIP=inet_addr(T2A(str.GetString())); return 0;}
[解决办法]
写明用char就行。
std::string ip;std::cin >> ip;dwIP=inet_addr(ip.c_str());