当前位置: 技术问答>linux和unix
还是菜菜问题!
来源: 互联网 发布时间:2014-11-01
本文导语: 有一个程序是在scounix环境下的: 1 main () 2 { 3 printf("%s","James is god!"); 4 printf("test!"); 5 printf("test again!"); 6 } 7 在编译运行时发现,printf函...
有一个程序是在scounix环境下的:
1 main ()
2 {
3 printf("%s","James is god!");
4 printf("test!");
5 printf("test again!");
6 }
7
在编译运行时发现,printf函数没有及时打印相关信息(就是程序运行完了3句后,没有打印出“James is god!”,运行完4句后,没有打印出“test!”……,只有到程序全部运行完了退出了,才打印出“James is god!test!test again!”)。难道printf函数不是运行一句打印一句吗?请高手们点解!
1 main ()
2 {
3 printf("%s","James is god!");
4 printf("test!");
5 printf("test again!");
6 }
7
在编译运行时发现,printf函数没有及时打印相关信息(就是程序运行完了3句后,没有打印出“James is god!”,运行完4句后,没有打印出“test!”……,只有到程序全部运行完了退出了,才打印出“James is god!test!test again!”)。难道printf函数不是运行一句打印一句吗?请高手们点解!
|
printf有缓冲,解决办法:
1、printf("testn"); 加n后,立即输出
2、fflush(stdout); 刷新stdout
1、printf("testn"); 加n后,立即输出
2、fflush(stdout); 刷新stdout