首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

inet_addr解决方法

2012-11-16 
inet_addrDWORD dwIP0CString str_T(127.0.0.1)dwIPinet_addr(str)“inet_addr”: 不能将参数 1 从“

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

热点排行