【发布时间】:2016-10-25 04:27:02
【问题描述】:
我开始编程并了解了以下命令
fflush(stdout);。我明白为什么大多数平台都需要它,但我仍然在问自己一些问题......
1.\n 不应该在 msys2 上缓冲,因为它是行缓冲的吗? (薄荷)
2.为什么我需要在Eclipse上使用,而在Clion上不需要使用?
3.我是唯一一个在 Eclipse 和 Msys2 上遇到这个问题的人吗?
编辑:3.1。我问是因为我不需要 fflush(stdout);在我学校的 Windows 计算机上。这是为什么呢?
【问题讨论】:
-
实际上,如果我的 printf 输出以 \n 结尾,它不会改变任何东西。它只是没有显示在屏幕上。但即使我没有将 \n 放入 Clion,它仍然会在 IDE 的终端中显示输出。
-
欢迎来到美妙的 IDE 世界。我还没有找到一个很好的 IDE 可以在 Mac 上使用——但我是个古董,也没有找到一个很好的 IDE 可以在其他任何地方使用。 Eclipse 处理 C 程序的“终端 I/O”的方式存在问题。最近一两个月有一个关于这个话题的问题;找到它会很痛苦。 (而且 Windows 做的事情不同,因为它是 Windows。)
-
我听说 Xcode 非常适合 Mac。但我在 Windows 上,所以是的……(我与众不同!)
-
我最近看到很多初学者用前导换行符编写输出。这将刷新先前的输出而不是当前的输出。你不这样做?你把换行符(
"\n")放在最后? -
取决于
stdout指向的内容。它通常继承自其父进程,可以是任何东西,包括文件(想想> out重定向)。有些终端系统是行缓冲的,有些不是。
标签: c eclipse clion msys2 fflush