以下是一个简单的C
程序:
#include <unistd.h>
#include <stdio.h>
int main(void)
{
while (1)
{
printf("Hello World\n");
sleep(1);
}
}
编译并运行它,"Hello World
" 将会在终端上打印出来:
构建和运行它,"Hello World
" 将会在终端上打印出来:
$ ./a.out
Hello World
Hello World
Hello World
但是如果标准输出被重定向到文件中,运行一段时间后,文件中仍然没有任何内容:
$ ./a.out > log.txt
^C
$ cat log.txt
$
为什么printf
没有输出到stdout
被重定向的文件中?