标签归档:curses

linux c curses.h 用法

系统环境:阿里云 Cent os

默认情况下linux系统都会自带运行库 curses.h,
我们可以通过 [root@localhost ~]#find / -name “curses.h” 查找系统是否已经拥有curses.h 运行库,如果未查找到运行可以上网安装

curses简介:
curses是在linux下应用广泛的图形库,curses工作在屏幕、窗口、子窗口之上,
stdscr 指标准屏幕,curscr 指当前屏幕
使用curses图形库时, 在绘制图形之前 需要 initscr() 初始化; 使用完毕后 需关闭屏幕 endwin();

initscr(); 初始化Curses 屏幕寻址系统
int addch(const chtype char_to_add); 在屏幕上的当前位置打印字符。需要单个字符参数。
int addchstr(chtype *const string_to_add); //当前位置添加字符(串)
int printw(char *format, …); //输出字符类似与printf
int refresh(void); //刷新物理屏幕
int box(stdscr,ACS_VLINE, ACS_HLINE); //围绕窗口绘制方框
int insch(chtype char_to_insert); //插入一个字符(已有字符后移)
int insertln(void); //插入空白行
int deleteln(void); //删除字符和空白行
int beep(void); //终端响铃
int flash(void); //闪烁

move(Row,Col) 将光标移动到指定的行和列。需要行和列编号参数。
mvcur(Row,Col) 将物理光标移动到指定的行和列。需要行和列编号参数。

addstr string 在屏幕上的当前位置打印 String 的值。
mvaddch (Row,Col) 将逻辑光标移动到指定的行和列。在屏幕上指定的行和列打印指定的字符。需要行和列编号参数。
mvaddstr(Row,Col) string 将逻辑光标移动到指定的行和列。在屏幕上指定的行和列打印 String 的值。需要行和列编号参数,还需要一个 String 参数。
clrtoeol 清除当前行从当前列到行尾的内容。
clrtobot 清除从当前列到屏幕结尾的屏幕内容。
getch 从标准输入检索一个字符。
getstr 从标准输入检索一个字符串。
insch 在当前屏幕位置插入一个字符。

start_color(); //开启彩色模式
init_pair(colorNumber,short 前景色,short 背景色); //初始化colorNumber号颜色组合
COLOR_PAIR(int colorNumber); //对colorNumber号颜色组合作为属性来访问(用于前面的attr函数)
pair_content(short colorNumber, short *foreground, short *background); //获取已定义的颜色组合信息
endwin(); 取消初始化Curses屏幕寻址系统 重置状态

linux curses