我已經寫了一個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