16,466
社区成员
发帖
与我相关
我的任务
分享
//我按孙鑫视频15课编的,vc6下好好的。
CString str;
GetDlgItemTextW(IDC_EDIT4,str);
int num;
num=str.GetLength()+1;
sendto(m_socket,str,num,0,(SOCKADDR*)&addrTo,sizeof(SOCKADDR));
SetDlgItemTextW(IDC_EDIT4,L"");
/*报错:vs2010\mfc\聊天室\聊天室\聊天室dlg.cpp(233): error C2664: 'sendto' : cannot convert parameter 2 from 'CString' to 'const char *'
1> No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
*/
//然后,我改了一下,
CString str;
GetDlgItemTextW(IDC_EDIT4,str);
int num;
num=str.GetLength()+1;
char*pch;
pch=new char[num;
memset(pch,0,num);
memcpy(pch,str.GetBuffer(num),num);
sendto(m_socket,pch,num,0,(SOCKADDR*)&addrTo,sizeof(SOCKADDR));
SetDlgItemTextW(IDC_EDIT4,L"");
编译通过,只是我在运行时,在IDC_EDIT4中输入几个字符,在另一个显示编辑框IDC_EDIT3中只显示1个字符,比如我输“skfjsj”,IDC_EDIT3只显示s.
]