空字符串来自recv()返回

我正在写一个小的c socket程序 . 但是,对recv()的调用表示收到了32个字节的数据,但是如下所示调用fprintf会向控制台显示一个空行 . 打败我的是数据实际返回但打印空行 . 我是否有可能为fprintf使用错误的格式说明符?

messagesize = recv(socketHandle, recvbuffer, sizeof(recvbuffer), 0);

fprintf(stdout, "%d bytes read <<< ping message \n", messagesize);

recvbuffer[messagesize] = '\0';

fprintf(stdout, "message received : %s\n\n", (char *) recvbuffer);

回答(0)