當通過使用recv套接字接收數據,我注意到,具有:char數組與字符指針
char buffer[4]; memset(buffer, 0, 4); recv(socket, buffer, 4, 0);
我接收
mesgx
「mesg」就是我發送的,附加了一些隨機字符。
如果我使用
char * method = (char *) malloc(4); memset(buffer, 0, 4); recv(socket, buffer, 4, 0);
相反,我收到
MESG
所以這是附加到我的字符串沒有隨機的東西。我想,如果我使用char [5],它也可以,但我不明白爲什麼。 malloc(4)是否真的分配了5個字節,第五個是NUL?
我以爲這麼多,但爲什麼它與malloc一起工作呢? – fresskoma 2009-07-26 22:08:58