Linux中的printf不能正常工作

时间:2016-02-22 15:32:59

标签: c linux printf fork

f.savefig(...)

在我的控制台上,我可以看到两个pid和pid_t pid=fork(); printf("%d\n",pid); if(pid==0){ sleep(3); printf("!"); } else { printf("@"); read_routine(clnt_sock,buf); } ,但没有!

当我删除语句@时,我可以在控制台上看到read_routine(clnt_sock,buf);

@函数中,只有一些输入语句使用read_routine

fgets()是否有一些秘密?

2 个答案:

答案 0 :(得分:3)

您的输出可能已缓冲。在printf之后,您可能希望fflush(stdout);

答案 1 :(得分:2)

打印后添加fflush(stdout)并尝试。