printf("C")采用sleep(1)定时输出显示的三种方法
文章来源:http://gliethttp.cublog.cn
//.方法1--使用setbuf,清除printf的缓冲,使用write直接将数据发送到制定文件中 //hello.c内容 #include <stdio.h> int main(void) { //取消stdout文件的缓冲功能,发送到该文件的所有数据直接传递给该文件, //printf()就是专门向stdout文件发送数据的函数,所以printf("C"),将不经缓冲的直接传递给stdout, //进而也就直接显示putty终端上(gliethttp_20071125) setbuf(stdout, NULL); for(;;) { sleep(1); printf("C"); } return 0; } //.方法2--使用fflush,将缓冲区中数据调用write立即刷新到文件中 //hello.c内容 #include <stdio.h> int main(void) { for(;;) { sleep(1); printf("C"); //刷新stdout文件的缓冲区,如果有数据,那么回写,进而将缓存在stdout缓冲区内的"C"字符显示到 //putty终端上(gliethttp_20071125) fflush(stdout); } return 0; }
//.方法3--使用标准错误输出stderr,直接将数据送到屏幕 //hello.c内容 #include <stdio.h> int main(void) { for(;;) { sleep(1); //以上两种方法将数据送到磁盘文件,这里使用stderr-标准错误输出设备-将数据直接送到屏幕 //这是第3种方法,感谢网友xiyou fprintf(stderr,"C"); } return 0; }
//printf定时输出执行效果: [root@localhost gliethttp]# ./hello CCCCCCCCCCCCCCCCCCCCCCCCCC
|