c 服务器代码 printf

标签 c printf recv

while ((c = accept()> 0){
    // Do whatever a web server does.
    printf("got connected\n");





    recv_buf[i]='\0';

        printf("%s\n" , recv_buf);
    printf("input received");
 }

这个 while 循环接收消息并打印消息,但没有打印“输入已收到”行,为什么会这样以及如何修复它?

最佳答案

我猜您没有多次看到该消息被打印出来。 “收到的输入”可能仍缓冲在标准输出中。您应该调用 fflush(stdout); 或更简单,始终使用 stderr 进行调试,因为默认情况下它是无缓冲的。

如果您看到打印出多条消息而没有看到“已收到输入”,那么问题可能会更加隐蔽,但这似乎不太可能。

关于c 服务器代码 printf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18797317/

相关文章:

c - Escaping "white space"在C中转义

c - C中的sprintf,循环永远不会结束

c - printf 函数打印不应该打印的内容,为什么?

c - C 套接字中的非阻塞 recv()

C、TCP、recvAll block 未接收任何内容

c - 崩溃后查找%ebp(有%eip)

c - 来自数组的简单 Printf 循环

c - 如何减少 vector 中的访问时间

c - fprintf 结果不正确

c - 确定使用recv读取的字节数