当通过使用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