我正在使用printf("%d", 15);
并且没有在控制台上打印任何内容。
我首先尝试调用setvbuf (stdout, NULL, _IONBF, 0);
,没有任何改变。
任何想法如何解决这个问题?
答案 0 :(得分:5)
printf
缓冲输出。它不会刷新缓冲区(即实际写出内容),直到达到换行符。
最好的补救措施是使用printf("%d\n", 15);
。或者,您可以使用fflush(stdout);
您可以通过编写setbuf(stdout, NULL);
来抑制缓冲行为,但我不建议您以这种方式干扰工作。