Cygwin64位
编译命令:
gcc hello.c -o hello -ansi -pedantic-errors
命令运行
./hello
你好ç
#include<stdio.h>
int main() {
/*setbuf(stdout, 0); I KNOW THIS WILL WORK IF ADDED, it is a solution, but I want to know why line break itself is not working*/
printf("hello world!\n");
printf("hello world again!\r\n");
/*fflush(stdout); without fflush, the above strings are not showing*/
while(1)
{
}
}
问题:
我不希望在每次 printf 之后 fflush 让终端及时显示字符串,那怎么办?
答案:setbuf(stdout, 0);
考虑到很多帖子指出换行符可以解决问题,为什么“\n”或“\r\n”在我的情况下不起作用?
cygwin 的终端与普通 Linux 终端的行为是否不同?由于我没有安装linux,有人给我测试一下吗?
或者让我问一个更一般的问题:在哪种终端上,“新行将强制刷新”这句话是正确的?
谢谢