定时输出重定向失败
#include <stdio.h>
#include <time.h>
main(){
while(1){
printf("Test\n");
sleep(1);
}
}
生成a.out
使用命令
./a.out > a
过一段时候之后a中的内容还是空的。这是为什么 ?这个重定向失败了
------解决方案--------------------printf内容被缓存了。
LZ在printf后面添加一句:
fflush(stdout);
就正常了。
------解决方案--------------------不加sleep很快缓存就会满,就会写。程序正常退出会,你杀死退出不会。