问题描述
- socket发送结构体问题,无法在服务器端显示完整的结构体
-
定义了如下结构体
在发送结构体的时候转换成char *类型
输入了如下学生数据__
在接收端也进行了数据类型转换,如下
为什么最后的年龄输不出来,而是一串数字,怎么解决?
解决方案
你发送的send是直接发送的student的指针,你需要把整个student的内容存到char数组,然后发送char数组,接收后,也要把char数组memcpy等复制回来
解决方案二:
sscanf处有&还能收到数据吗?
解决方案三:
- 1.你在客户端都打印不出完整的结构体。你的输入部分有错误。szName和szGender应该不要&
- 2.如果你要讨论服务器端的问题,你至少也要把服务器端你怎么做的贴出来,不然怎么讨论。
解决方案四:
1、你的scanf %s后对应的&真的大丈夫吗?
2、接收后 不应该那样直接指向,
应该定义一个新的结构体对象,然后将接收到的字符传给memcpy过去
解决方案五:
不要直接发送。。因为两端的平台可能不一样。。建议发送前转换成byte类型再发,收到后再转换格式
时间: 2024-08-07 08:54:18