如何把一个结构体转化成字符串

lllxy 2004-01-29 10:39:00
如果有一个结构体要进行发送,如何把该结构体转化成一个字符串的buf进行传送,如下代码转化后,字符串为空,为什么?
char* temp = reinterpret_cast<char*>(pMyStruct);
pMyStruct是定义的一个结构体指针,已经初始化过,可经过转换后,temp的值为空,怎么回事呢?
...全文
405 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
elssann 2004-01-30
  • 打赏
  • 举报
回复
同意 jemmylau(枕头)的,没那么麻烦。

刚刚写代码测试过

typedef struct _PACKET
{
int nCode;
char *pszName;
char age[10];
}PACKET , *LPPACKET;



PACKET p;
p.nCode = 5;
strcpy(p.age, "test");
p.pszName = "fuck";


send(s, (char*)&p, sizeof(p), 0);


-------------------------------------

PACKET p;
ZeroMemory(&p, sizeof(p));
recv(ss, (char*)&p, sizeof(p), 0);
AfxMessageBox(p.age);
AfxMessageBox(p.pszName);


一切正常
jemmylau 2004-01-30
  • 打赏
  • 举报
回复
结构体可以以字节的形式进行发送,没有必要转换成字符串;
myStruct ms;

send(,&ms,sizeof(myStruct));
lllxy 2004-01-30
  • 打赏
  • 举报
回复
to elssann() 看看我的新问题

http://expert.csdn.net/Expert/topic/2687/2687779.xml?temp=.4608118
Pipi0714 2004-01-29
  • 打赏
  • 举报
回复
应该可以,按照楼上的做法重新试一试!
bluebohe 2004-01-29
  • 打赏
  • 举报
回复
pMyStruct前一个字节值为零,
lllxy 2004-01-29
  • 打赏
  • 举报
回复
薄荷_MVP 的解答一针见血,确实该结构体的第一个字节变量为设置为:0x0100.而出现了问题

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧