linux 网络编程 打印接收数据包

新手上路,请多包涵

server在接收到client通过UDP传送的数据包之后,打印出来

printf("%02x ",buff);

其中buff是char数组,且足够大,server也可以正常解析,但是打印出的结果竟然是

00 11 22 33 45 56 aa ab
98 ff fe a2 d3 25 78 c6
f2 ffffffd3 ffffffc4 11 22 33 44 55
...

很明显,d3--->ffffffd3 , c4--->ffffffc4
请问这是怎么回事?谢谢

阅读 3.8k
1 个回答

数据包里的内容,也就是打印出来的00 11 22 33等这些数据是client自己写进去的么?出现一串f很有可能是数据类型转换的问题,比如原本是unsigned char的数据,server收到存储为char类型,打印出来就会多了一堆f,可以检查一下这方面

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题