读书人

inet_addr解决方法

发布时间: 2012-11-16 14:12:14 作者: rapoo

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配置项目属性,那么必须转换

C/C++ code
#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就行。
C/C++ code
std::string ip;std::cin >> ip;dwIP=inet_addr(ip.c_str()); 

读书人网 >C++

热点推荐