我开始编程,我了解了这个命令
fflush(stdout);
。我理解为什么在大多数平台上我都需要它,但我仍然问自己一些问题......
1.我不是\n
应该在msys2上缓冲,因为它是行缓冲的吗? (Mintty)
2.为什么我需要在Eclipse上使用它,而我不需要在Clion上使用它?
3.我是唯一一个在Eclipse和Msys2上特别挣扎于这个问题的人吗?
编辑:3.1。我问,因为我不需要fflush(stdout);在我学校的Windows电脑上。那是为什么?
答案 0 :(得分:-2)
[这个答案是关于
fflush(stdin)
而不是真正的答案。
fflush(stdout)
没有未定义的行为。]
fflush用于清除stdout缓冲区,并且它具有未定义的行为。有时候,fflush不会工作,而是最好使用fpurge。
有关Windows上的行为问题的详细信息,请参阅此主题 - How come fflush(stdin) function is not working?