Linux下curses函数库的学习

在Linux环境下,已经用ncurses函数库替换curses函数库了,所有以下的函数都是ncurses.h文件中的函数。

#include<curses.h>

 


  • 1. 初始化和重置函数

 

所有curses程序必须以initscr函数开始,以endwin函数结束。

              WINDOW *initscr(void);                                          //在一个程序中只调用一次,返回一个指向stdscr结构的指针,失败输出一条诊断信息并使程序结束。

              int endwin(void);                                                    //成功返回OK,失败返回ERR。

 


  • 2. 输出到屏幕

用于刷新屏幕的基本函数,字符类型chtype是比标准的char类型包含更多的二进制位。实际上是unsigned long类型的一个typedef类型定义。

              int addch(const chtype char_to_add);

              int addchstr(chtype *const string_to_add);

              int printw(char *format,...);

              int refresh(void);

              int box(WINDOW *win_ptr,chtype vertical_char,chtype horizontal_char);

              int insch(chtype char_to_insert);

              int insertln(void);

              int delch(void);

              int deleteln(void);

              int beep(void);

              int flash(void);

 


  • 3. 从屏幕读取

 

              chtype inch(void);              //返回光标当前位置的字符及其属性。

              int instr(char *string);

              int innstr(char *string,int number_of_characters);

 


  • 4. 清除屏幕

              int erase(void);                     //在屏幕位置写上空白字符

              int clear(void);                       

              int clrtobot(void);                  //清除当前光标所在行下面的所有行,包括当前光标所在行的光标位置右边直到行尾的内容

              int clrtoeol(void);                  //清除当前光标所在行的光标位置右边直到行尾的内容。

 


  • 5. 移动光标

              int move(int new_y,int new_x);

 

              int leaveok(WINDOW *window_ptr,bool leave_flag);              //设置一个标志,用于控制在屏幕刷新后curses将物理光标放置的位置。           

 


  • 6. 字符属性

预定义的属性有:A_BLINK   A_BOLD   A_DIM   A_REVERSE   A_STANDOUT   A_UNDERLINE

              int attron(chtype attribute);

              int attroff(chtype attribute);

              int attrset(chtype attribute);

              int standout(void);

              int standend(void);

 


  • 7. 键盘的工作模式

              int echo(void);

              int noecho(void);

              int cbreak(void);

              int nocbreak(void);

              int raw(void);

              int noraw(void);

 


  • 8. 键盘输入

              int getch(void);

              int getstr(char *string)

              int getnstr(char *string,int number_of_characters);

              int scanw(char *format,...);

 


  • 9. 窗口函数

              WINDOW *newwin(int num_of_lines,int num_of_cols,int start_y,int start_x);

              int delwin(WINDOW *window_to_delete);

 


 

  • 10. 通用窗口函数

              int addch(const chtype char);

              int waddch(WINDOW *window_pointer,const chtype char);

              int mvaddch(int y,int x,const chtype char);

              int mvwaddch(WINDOW *window_pointer,int y,int x,const chtype char);

              int printw(char *format,...);

              int wprintw(WINDOW *window_pointer,char *format,...);

              int mvprintw(int y,int x,char *format,...);

              int mvwprintw(WINDOW *window_pointer,int y,int x,char *format,...);

 


 

  • 11. 窗口移动和更新屏幕

              int mvwin(WINDOW *window_to_move,int new_y,int new_x);

              int wrefresh(WINDOW *window_ptr);

              int wclear(WINDOW *window_ptr);

              int werase(WINDOW *window_ptr);

              int touchwin(WINDOW *window_ptr);

              int scrollok(WINDOW *window_ptr,bool scroll_flag);

              int scroll(WINDOW *window_ptr);

 


  • 12. 窗口优化屏幕刷新

              int wnoutrefresh(WINDOW *window_ptr);

              int doupdate(void);

 


  • 13. 子窗口

              WINDOW *subwin(WINDOW *parent,int num_of_lines,int num_of_cols,int start_y,int start_x);

              int delwin(WINDOW *window_to_delete);

 


  • 14. keypad模式

              int keypad(WINDOW *window_ptr,bool keypad_on);

 


  • 15. 彩色显示

              bool has_colors(void);

              int start_color(void);

              int init_pair(short pair_number,short foreground,short background);

              int COLOR_PAIR(int pair_number);

              int pair_content(short pair_number,short *foreground,short *background);

              int init_color(short color_number,short red,short green,short blue);

 


  • 16. pad

              WINDOW *newpad(int number_of_lines,int number_of_columns);

              int prefresh(WINDOW *pad_ptr,int pad_row,int pad_column,int screen_row_min,int screen_col_min,int screen_row_max,int screen_col_max);

 


2010-08-25 00:58:54

 

 

     

    评论 1
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值