我正在使用printf("%d", 15);,控制台上没有打印任何内容。我先试着打setvbuf (stdout, NULL, _IONBF, 0);,没有什么变化。有什么想法如何解决这个问题吗?
printf("%d", 15);
setvbuf (stdout, NULL, _IONBF, 0);
inn6fuwd1#
printfbuffers 输出。它不会 flush 缓冲区(即实际写出内容),直到到达换行符。最好的补救方法是使用printf("%d\n", 15);。您可以通过编写setbuf(stdout, NULL);来抑制缓冲行为,但我不建议您以这种方式干扰工作。
printf
printf("%d\n", 15);
setbuf(stdout, NULL);
zengzsys2#
有同样的问题。这是我在使用Clion时的解决方案。1.运行程序时使用调试选项。
的数据1.请使用fflush(stdout)。
fflush(stdout)
printf("Test\n"); fflush(stdout);
字符串之后,您应该会在调试控制台中看到输出。
2条答案
按热度按时间inn6fuwd1#
printf
buffers 输出。它不会 flush 缓冲区(即实际写出内容),直到到达换行符。最好的补救方法是使用
printf("%d\n", 15);
。您可以通过编写
setbuf(stdout, NULL);
来抑制缓冲行为,但我不建议您以这种方式干扰工作。zengzsys2#
有同样的问题。这是我在使用Clion时的解决方案。
1.运行程序时使用调试选项。
的数据
1.请使用
fflush(stdout)
。字符串
之后,您应该会在调试控制台中看到输出。