日期:2014-05-16  浏览次数:20710 次

linux printf打不出来
在写linux应用层的时候,printf如果不加\n是要等到其他进程结束之后才打的。

所以调试时,不要用
printf("1");
要加\n.

唉,接近一个小时的摸索。。。
1 楼 rubynroll 2011-06-30  
那是因为默认情况下如果stdout是terminal那么stdout是行缓存的,你可以在printf后面调用fflush(stdout)来刷新缓存,立即看到printf输出。

或者,你可以改变stdout流的默认行为为“不缓存”,在程序一开始调用:

setvbuf(stdout, NULL, _IONBF, 0);

如此,以后调用printf即可马上看到输出,不必等到'\n'的出现。

2 楼 jinleileiking 2011-06-30