#include <ncursesw/ncurses.h>
#include <locale.h>
int main(void){
int y,x,i,j,h,w;
setlocale(LC_ALL,"");
WINDOW *pad;
initscr();//初始化
getmaxyx(stdscr,h,w);//获得屏幕尺寸
//画背景
for(i=0;i<h;i++){
for(j=0;j<w;j++){
mvaddch(i,j,ACS_CKBOARD);
}
}
refresh();
//建立窗口
pad=newpad(80,90);
for (i=0;i<80;i++){
char line[90];
sprintf(line,"line %d\n",i);
mvwprintw(pad,i,1,line);
}
refresh();
prefresh(pad,0,1,5,10,20,25);//刷新pad。0,1 为基垫需要显示区域的左上角位置(行列对,以下同此)。5,10,20,45为屏幕显示区域的左上角和右下角位置
for(i=0;i<65;i++){
prefresh(pad,i+1,1,5,10,20,25);//刷新pad,实现流屏;
usleep(30000);
}
getch();//等待按键
delwin(pad);
endwin();//结束
return 0;
}
?LINUYX-C-curses-pad滚屏
