ncurses入门

 注意:在默认情况下,在ncurses库中,调试跟踪的选项开关是关闭的,为了启动调试功能,应连接ncurses的调试库ncurses_g,并且在你的代码中或者调用trace(N)或者或者将环境变量$NCURSES_TRACE设置为N,其中N是一个非零的正整数,这样将强制将调试输出到一个名为trace的文件中,并且N的值越大,调试输出的结果粒度越细,标准的跟踪级别是TRACE_ORDINARY也就是31。

一,初始化和终止
 WINDOW *initscr(void);
 SCREEN *newterm(char *type, FILE *outfd, FILE *infd);
 initscr用来创建和初始化stdscr,curscr,以及通过查询terminfo和termcap数据库来发现终端的能力和特性,如果在此过程中出现了错误,那么initscr将会显示提示信息,并终止程序的执行。如果函数执行成功将返回stdscr指针,否则返回NULL,并终止程序的执行。
 如果是多个终端,则需要用newterm来代替initscr的工作,他返回一个SCREEN类型的变量,用来在引用一个终端时使用。type是一个将被使用的字符串,用来代替环境变量$TERM,如果为NULL,则$TERM将被使用,outfd用来输出到终端的文件,infd从终端获得输入的文件。
 在使用一个终端时,必须先将终端设置为当前终端,
 SCREEN *set_term(SCREEN *new);
 
 int endwin(void);
 void delscreen(SCREEN* sp);
 在使用完之后应将释放资源,并将屏幕的模式设置回原来的状态,如果程序中没有使用newterm函数建立新的终端,那么只需要调用endwin来释放当前终端的资源,否则就应该使用delscreen来删除用newterm建立的SCREEN。
#include <stdlib.h>
#include <curses.h>

int main(void)
{
 initscr();
 printw("This is a curses window.\n");
 refresh();
 getch();
 endwin();
 
 return 0;
}
二,输入输出
 int addch(chtype ch);
 int echochar(const chtype ch);
 int insch(chtype ch);
 int addchstr(const chtype *chstr);
 int addchnstr(const chtype *chstr, int n);
 int addstr(const char *str);
 int addnstr(const char *str, int n);
 他将字符ch显示到当前窗口光标所在的位置,并移动光标到下一个位置,如果输出超过右边界,则会折行显示,如果开启滚动,并且光标处于可滚动区域的底部,该区域将向前滚动一行,同时,字符在输出的时候还可以与下面的值进行或操作进行输出。
  A_NORMAL        Normal display (no highlight)  标准模式
         A_STANDOUT      Best highlighting mode of the terminal. 使用终

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值