读书人

ncurses 滚屏的有关问题

发布时间: 2013-09-18 14:17:40 作者: rapoo

ncurses 滚屏的问题
我现在在学习ncurses的界面设计,有一块区域是用来显示输出信息的,我想实现滚屏程序,对前面的信息还能看到。。。不知道哪位高人能帮我写下一个简单的demo程序,主要是输出就可以了!非常感谢。。。 界面设计 ncurses 滚屏
[解决办法]
参考:nterm.googlecode.com/files/NCURSES-Programming-HOWTO-CN.pdf?
简单例子:http://blog.chinaunix.net/uid-12186458-id-26582.html
[解决办法]
用类似tee的技术将输出到屏幕的信息同时输出到一个临时文本文件,
在向前滚动时,输出临时文本文件中前面的内容。
tee.c:

#include <stdio.h>
#include <string.h>
FILE *f;
int c;
void main(int argc,char **argv) {
if (argc==3) {
if (stricmp(argv[1],"-a")) goto USAGE;
f=fopen(argv[2],"a");
if (NULL==f) goto FNULL;
goto FOK;
} else if (argc==2) {
if (0==strcmp(argv[1],"/?")) {
USAGE:
fprintf(stderr,"Usage: program
[解决办法]
tee [-a] file\n");
return;
}
f=fopen(argv[1],"w");
if (NULL==f) goto FNULL;
FOK:
while (1) {
c=getchar();
if (EOF==c) break;
if (EOF==fputc(c,f)) {
putchar(c);
break;


} else {
if (EOF==putchar(c)) break;
}
}
fclose(f);
} else {
FNULL:
while (1) {
c=getchar();
if (EOF==c) break;
if (EOF==putchar(c)) break;
}
}
}

读书人网 >C语言

热点推荐