linux应用程序printf打印重定向丢失问题
现象:
执行应用程序时 ./a.out > log.log没有日志输入到log.log文件中。
网上一通搜索,找到如下方法。
转:https://www.cnblogs.com/live-program/p/11699226.html
这是由于缓冲区造成的,解决方法如下:
1 #include <stdio.h>
2
3 int main()
4 {
5 fflush(stdout);
6 setvbuf(stdout, NULL, _IONBF, 0);
7
8 printf("Hello World!\n");
9 while(1);
10
11 return 0;
12 }
在打印前加上5,6行
作者:Alvin2012
完毕。