首页 行业资讯 宠物日常 宠物养护 宠物健康 宠物故事

C++socket实现信息传输(字符串)的问题?

发布网友 发布时间:2022-04-22 06:15

我来回答

3个回答

热心网友 时间:2023-08-11 18:17

你在读取数据流的时候先判断下当前流中有多少字节(tempSocket.Available的可供读取的数据量),就创建多少字节的byte数组,不然的话,你这样读取的数据(例如:流中可供读取的数据量是100,你直接存到b中,而你转换字符串时是将b全部转换,里面还有924个空字符)不能直接比较,需要把多余的空字符(你显示的长度是512就是这个原因)去掉后再比较才可以。追问我明白了。。。使用trim()时无法将'\0'去掉,所以我自己写了一个去掉'\0'的方法。问题解决了。

追答对了!

热心网友 时间:2023-08-11 18:17

if (str.Equals("guest")) MessageBox.Show("尼玛能不能成功一次啊!");
这步,加断点,看一下str字符串内容,最好是查看一下str的长度是否是5.追问str内容为"guest",但是长度却是512。

热心网友 时间:2023-08-11 18:18

加个Trim试试?感觉你这编码没问题呀追问使用trim也没用,长度仍然为512。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com