print与flush

来源:互联网 发布:御彩轩计划软件 编辑:程序博客网 时间:2024/06/07 10:25
#include <stdio.h>#define BUFSIZE ((NROWS)*(NCOLS-1))static int buffer[BUFSIZE];static int *bufptr=buffer;void print(int n){if(bufptr==&buffer[BUFSIZE]){static int row=0;int *p;for(p=buffer+row;p<buffer;p+=NROWS)printfnum(*p);printnum(n);printnl();if(++row==NROWS){printpage();row=0;bufptr=buffer;}}else*bufptr=n;}void flush(){int row;int k=bufptr-buffer;if(k>NROWS){k=NROWS;}if(k>0){for(row=0;row<k;row++){int *p;for(p=buffer+row;p<bufptr;p+=NROWS)printnum(*p);printnl();}printpage();}}

0 0