CString转化作能够符合条件的格式
CString转化为能够符合条件的格式
本帖最后由 oyljerry 于 2012-11-19 13:42:04 编辑
请问SOCKET初始化时,要指定接收端口的时候,如何格式转换呢?将CString转化为能够符合条件的格式,
MSDN显示的.sin_port是unsigned short类型,但是如何转换
------最佳解决方案--------------------
端口编号是整型值啊,你怎么用字符串传递呢?
可以将CString转换为整型啊
int nPort = atoi(str_RecvDuan);
------其他解决方案--------------------
------其他解决方案--------------------
回复于: 2012-11-19 12:28:18
端口编号是整型值啊,你怎么用字符串传递呢?
可以将CString转换为整型啊
int nPort = atoi(str_RecvDuan);
------其他解决方案--------------------
感谢啊啊啊啊
本帖最后由 oyljerry 于 2012-11-19 13:42:04 编辑
CString str_RecvDuan;
GetDlgItemText(IDC_EDIT_RecvDuanKou,str_RecvDuan);//从编辑框控件获取接收端口号
m_socket=socket(AF_INET,SOCK_DGRAM,0);
if(INVALID_SOCKET==m_socket)
{
MessageBox("套接字创建失败!");
return false;
}
SOCKADDR_IN addrsock;
addrsock.sin_family=AF_INET;
//addrsock.sin_port=htons(1234);//这是对的
addrsock.sin_port=htons(((unsigned short *)str_RecvDuan));//这会报错?
addrsock.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
int retval;
retval=bind(m_socket,(SOCKADDR*)&addrsock,sizeof(SOCKADDR));
if(SOCKET_ERROR==retval)
{
closesocket(m_socket);
MessageBox("绑定失败");
return false;
}
return true;
请问SOCKET初始化时,要指定接收端口的时候,如何格式转换呢?将CString转化为能够符合条件的格式,
MSDN显示的.sin_port是unsigned short类型,但是如何转换
------最佳解决方案--------------------
端口编号是整型值啊,你怎么用字符串传递呢?
可以将CString转换为整型啊
int nPort = atoi(str_RecvDuan);
------其他解决方案--------------------
atoi
------其他解决方案--------------------
回复于: 2012-11-19 12:28:18
端口编号是整型值啊,你怎么用字符串传递呢?
可以将CString转换为整型啊
int nPort = atoi(str_RecvDuan);
------其他解决方案--------------------
感谢啊啊啊啊