socket发送结构体问题,无法在服务器端显示完整的结构体

定义了如下结构体
图片说明
在发送结构体的时候转换成char *类型
图片说明
输入了如下学生数据__
图片说明
在接收端也进行了数据类型转换,如下
图片说明
为什么最后的年龄输不出来,而是一串数字,怎么解决?
图片说明

你发送的send是直接发送的student的指针,你需要把整个student的内容存到char数组,然后发送char数组,接收后,也要把char数组memcpy等复制回来

sscanf处有&还能收到数据吗?

  • 1.你在客户端都打印不出完整的结构体。你的输入部分有错误。szName和szGender应该不要&
  • 2.如果你要讨论服务器端的问题,你至少也要把服务器端你怎么做的贴出来,不然怎么讨论。

1、你的scanf %s后对应的&真的大丈夫吗?
2、接收后 不应该那样直接指向,
应该定义一个新的结构体对象,然后将接收到的字符传给memcpy过去

不要直接发送。。因为两端的平台可能不一样。。建议发送前转换成byte类型再发,收到后再转换格式