【发布时间】:2016-02-22 22:35:35
【问题描述】:
我正在使用printf("%d", 15);,但控制台上没有打印任何内容。
我尝试先致电setvbuf (stdout, NULL, _IONBF, 0);,但没有任何改变。
任何想法如何解决这个问题?
【问题讨论】:
-
行缓冲。 printf("%d\n", 15);
我正在使用printf("%d", 15);,但控制台上没有打印任何内容。
我尝试先致电setvbuf (stdout, NULL, _IONBF, 0);,但没有任何改变。
任何想法如何解决这个问题?
【问题讨论】:
printf 缓冲输出。在到达换行符之前,它不会刷新缓冲区(即实际写出内容)。
最好的补救办法是使用printf("%d\n", 15);。或者,您可以使用fflush(stdout);
您可以通过编写 setbuf(stdout, NULL); 来抑制缓冲行为,但我不建议您以这种方式干扰工作。
【讨论】: