我已经写了一个libcoap客户端与leshan服务器通信 问题是每当我做了一个PUT请求,第一次是正确的,但如果我从leshan做一个PUT请求,说12345678之后是它增加了一个乱码的有效载荷。 此外,如果我的下一个有效负载更长,它的行为正确,没有填充的乱码值。 如果我再次减小有效载荷大小,则较旧的大小将保留并填充有效负载的值。 CoAP客户端的 代码片段:sdsdsdsdasasasast�
c指针问题与随机垃圾
和Wireshark说:sdsdsdsdasasasast\201\005
unsigned char *data;
memset (data, '\0', sizeof(data));
coap_get_data(request, &size, &data);
coap_get_data
从服务器
我进入有效载荷在乐山服务器sdsdsdsdasasasast
但收到客户端获取数据
I al方法做了memset的数据插入阵列之前,我仍然不知道它在哪里得到了有效载荷
'unsigned char * data;' - 如果你没有初始化它,你希望'data'指向哪里? –
您可能需要为'data' - 'malloc'分配一些内存? –
@TheParamagneticCroissant已经做了,忘了在这里提到: data =(unsigned char *)malloc(sizeof(unsigned char)* 128); memset(data,'\ 0',sizeof(data)); – Zim