你用的真的是LWIP的原生接口吗(write/send),原生接口必然带发送数据大小的,比如write (int fd, const void * buf, size_t count); 。感觉你使用了封装过的接口,而且接口里有strlen之类的字符串处理函数把发送数据截断了。
引用: Ansersion 发表于 2019-8-28 09:38 你用的真的是LWIP的原生接口吗(write/send),原生接口必然带发送数据大小的,比如write (int fd, const v ...
的确使用的是strlen函数,但是我发送的数字0,而不是‘\0’呀!!!这是为什么呢?
annysky2012 发表于 2019-8-29 09:58 的确使用的是strlen函数,但是我发送的数字0,而不是‘\0’呀!!!这是为什么呢?
'\0' == 0
你那不是“数字0”,“数字0”的ASCII码是48。
还有一个很常见的错误,就是把strcpy当memcpy来用,也会发生截断
本帖最后由 Ansersion 于 2019-8-29 11:45 编辑引用: Ansersion 发表于 2019-8-29 11:43 annysky2012 发表于 2019-8-29 09:58 的确使用的是strlen函数,但是我发送的数字0,而不是‘\0&rsqu ...
说的非常有道理。 我发送的时候,使用strlen来判断发送数据的长度和申请内存。按道理应该按字节来进行申请的。我把strlen和sizeof两个弄混淆啦 。现在问题已经解决,谢谢您!