|
下面是一个函数print,作用是一次显示一屏
- --------------------------------------------------------------
- print(fp,pagesize) /*print fp in pagesize chunks */
- FILE *fp;
- int pagesize;
- {
- static int lines=0;
- char buf[BUFSIZ];
- while(fgets(buf,sizeof buf,fp)!=NULL)
- if(++lines<pagesize)
- fputs(buf,stdout);
- else {
- buf[strlen(buf)-1]='\0';
- fputs(buf,stdout);
- fflush(stdout); /*迫使系统输出缓冲中的所有内容*/
- ttyin(); /*用于在每屏显示完后读入用户的响应*/
- lines=0;
- }
- }
- --------------------------------------------------------------
复制代码
疑问:既然有fputs(buf,stdout);为何还需要fflush(stdout);? |
|