不能将参数 1 从“CString”转换为“const char *”
我用vs2005写一段socket程序,结果出现了下面的类型转换问题:UpdateData();
CString IP;
GetDlgItemText(IDC_IPADDRESS,IP);//从IP address contrl中提取IP地址赋值给字符串IP
SOCKADDR_IN addr;
addr.sin_addr.S_un.S_addr=inet_addr(IP);//第一处错误
addr.sin_family=AF_INET;
addr.sin_port=htons(6000);
CString say;
GetDlgItemText(IDC_EDIT_MSG,say);
int len=say.GetLength();
WSABUF wsbuf;
wsbuf.buf=say.GetBuffer(len);//第二处错误
say.ReleaseBuffer();
wsbuf.len=len+1;
DWORD dwSend;
SetDlgItemText(IDC_EDIT_MSG,_T(""));
if (SOCKET_ERROR==WSASendTo(m_Socket,&wsbuf,1,&dwSend,0,(SOCKADDR*)&addr,sizeof(SOCKADDR),NULL,NULL))
{
MessageBox(_T("发送数据失败!"));
return ;
}
\ClientDlg.cpp(209) : error C2664: “inet_addr”: 不能将参数 1 从“CString”转换为“const char *”
1> 没有可用于执行该转换的用户定义的转换运算符,或者无法调用该运算符
1>.\ClientDlg.cpp(216) : error C2440: “=”: 无法从“wchar_t *”转换为“char *”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换