怎样发送和接收struct型的自定义的数据? struct data{ int ID; char str[100];}; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 unsigned char pBuffer[1024];struct data pData;pData.ID = 1;memset(pData.str,1,100);memcpy(pBuffer,(char*)pData,szieof(pData));然后发pBuffer就可以了. (char*)pData有错: cannot convert from 'struct CClientDlg::data' to 'char *' unsigned char pBuffer[1024];data Data;pData.ID = 1;memset(pData.str,1,100);memcpy(pBuffer,(char*)&Data,szieof(pData));然后发pBuffer就可以了. memcpy(pBuffer,(char*)&Data,szieof(data)); 发送: data sendData;在Data中填入内容;send(sock,(char*)&sendData,sizeof(data),0); sock为套接字;接收:data recvData;recv(sock,(char*)&recvData,sizeof(data),0); 发送: data sendData;在Data中填入内容;send(sock,(char*)&sendData,sizeof(data),0); sock为套接字;接收:data recvData;recv(sock,(char*)&recvData,sizeof(data),0); 是这么发送的。。我以前问过同样的问题。我试验过事实上是可行的哦:-)通过结构体强制转换发送字节的方式。。或者也可以这样。。定义一个数组。。将结构体的数据通过memcpy复制过去,然后发送这个数组, 这就是简单封包。在接受方在通过解包在memcpy复制到结构体对象中去就可以了。这个数组中还可以同时传输除了结构体之外的其他信息。 至于你说的有错的地方 也就是 (char*)pData有错: cannot convert from 'struct CClientDlg::data' to 'char *'应该是 (char*)&pData,,,,可能是firebolt2002(霹雳) 兄写忘记了吧。 zxfvc(七品VC):我没有乱发啊,我自己的程序就是这么写的。你自己试试。发送接收之前得先建立连接,产生套接字sock。 C++线程,子窗口句柄 _variant_t 转char*的问题 如何确定某个对话框与哪一个类相对应? 我想问下帖子内容可以修改吗? 如何通过SOCKET去验证用户名和密码呢 调试时,如何把wchar_t用TRACE打印到输出窗口? 关于闪烁,双缓冲方法求助 一个很准的心理测试 我自定义一个结构,用clist包容起来,想通过socket传到服务器上,并经行处理,请问又那些关键步骤? 句柄,同步,线程,进程,信号量怎么用,天啊,我快疯了 100分紧急求助...... COM的属性页的实现……
struct data pData;
pData.ID = 1;
memset(pData.str,1,100);
memcpy(pBuffer,(char*)pData,szieof(pData));
然后发pBuffer就可以了.
cannot convert from 'struct CClientDlg::data' to 'char *'
data Data;
pData.ID = 1;
memset(pData.str,1,100);
memcpy(pBuffer,(char*)&Data,szieof(pData));
然后发pBuffer就可以了.
data sendData;
在Data中填入内容;
send(sock,(char*)&sendData,sizeof(data),0); sock为套接字;接收:data recvData;
recv(sock,(char*)&recvData,sizeof(data),0);
data sendData;
在Data中填入内容;
send(sock,(char*)&sendData,sizeof(data),0); sock为套接字;接收:data recvData;
recv(sock,(char*)&recvData,sizeof(data),0);
是这么发送的。。我以前问过同样的问题。我试验过事实上是可行的哦:-)通过结构体强制转换发送字节的方式。。或者也可以这样。。定义一个数组。。将结构体的数据通过memcpy复制过去,然后发送这个数组, 这就是简单封包。在接受方在通过解包在memcpy复制到结构体对象中去就可以了。这个数组中还可以同时传输除了结构体之外的其他信息。
cannot convert from 'struct CClientDlg::data' to 'char *'
应该是 (char*)&pData,,,,可能是firebolt2002(霹雳) 兄写忘记了吧。