关于从编辑框获取IP地址的问题-CString转char * 的解决办法

来源:互联网 发布:java时间与字符串转换 编辑:程序博客网 时间:2024/06/03 20:32

CString strIP;CString strPort;GetDlgItem(IDC_EDIT_IP)->GetWindowText(strIP);GetDlgItem(IDC_EDIT_PORT)->GetWindowText(strPort);//初始化sock库if ( 0 != WSAStartup( MAKEWORD( 2, 2),&m_wsaData ) ){ return ;} if( LOBYTE( m_wsaData.wVersion ) !=2|| HIBYTE( m_wsaData.wVersion ) != 2)   //返回值非0,则失败{ WSACleanup();  return ; }     const TCHAR *str = (const TCHAR *)strIP; //建立socketsm_socket = socket(AF_INET,SOCK_STREAM,0);m_addrSrv.sin_addr.S_un.S_addr = inet_addr(str);

这两天被这个问题搞死了

 留下来 供以后使用

将字符集改成多字节字符集

 然后代码如上



法二:

  还可以用这种方式  

添加头文件

#include <comdef.h>

然后把上面哪一行改成这样:(const char*)_bstr_t(strIP);

send(m_socket, (const char*)_bstr_t(sendBuf), sendBuf.GetLength()*sizeof(TCHAR), 0);

在这个里面的sizeof(TCHAR)不可以去掉 否则会导致中文字符收不到


send(m_socket, (const char*)_bstr_t(sendBuf), sendBuf.GetLength()*sizeof(TCHAR), 0);

原创粉丝点击