socket的recv接收的数据异常

socket的recv接收到的数据字符串显示不全,到[0x2a]那一行下面就没了,用quickwatch查看发现中间有不认识的符号(还有’£‘和其他的不一一列出),如图,... socket的recv接收到的数据字符串显示不全,到[0x2a]那一行下面就没了,用quickwatch查看发现中间有不认识的符号(还有’£‘和其他的不一一列出),如图,而且这个符号下面的内容不知道是接收不到还是显示不了,recv的buf就没有符号下面的内容了。求教这个是什么形式的符号?是什么导致显示不了从‘D’开始的下面的字符?怎么才能显示全部接收的数据? 展开
 我来答
百度网友28e9be2
2014-02-26 · TA获得超过609个赞
知道小有建树答主
回答量:499
采纳率:100%
帮助的人:605万
展开全部
如果你要把这个当作ascii字符串来处理,0x2b已经出现了\0结尾,也就是字符串已经结束,那么从0x2c及以后肯定都不作处理了。
追问
那请问怎么处理能接收到后面的数据呢?
追答
弄个字符串指针如char *p,然后让p =+ strlen(str) + 2;//str为数据首地址,就可以处理以后的数据了。或while('\0' == p) ++p;直到不为0为止,就可以处理后面的数据了,或直接p = str + 0x2d
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式