关于从“CString”转换为“const char *”的问题
编译平台:VC2008
程序说明:用MFC做的一个聊天室软件,其中类型转换出了问题
原代码:sendto(m_socket,strSend,strSend.GetLength()+1,0,(SOCKADDR*)&addrTo,sizeof(SOCKADDR));
错误提示:不能将参数 2 从“CString”转换为“const char *”
修改为:sendto(m_socket,strSend.GetBuffer(),strSend.GetLength()+1,0,(SOCKADDR*)&addrTo,sizeof(SOCKADDR));
错误提示:不能将参数 2 从“wchar_t *”转换为“const char *”
修改为:sendto(m_socket,(LPCWSTR)strSend,strSend.GetLength()+1,0,(SOCKADDR*)&addrTo,sizeof(SOCKADDR));
错误提示:不能将参数 2 从“LPCWSTR”转换为“const char *”
修改为sendto(m_socket,(LPCSTR)(LPCTSTR)strSend,strSend.GetLength()+1,0,(SOCKADDR*)&addrTo,sizeof(SOCKADDR));
编译通过,但是运行程序后,输入要发送的消息,点击发送按钮,弹出Debug Assertion Faild!的错误提示,提示说:Incorrect format specifier.
个人觉得一定是类型转换除了问题,不知道这种转换该怎么转,请求高手指示。
先谢过。