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/