curses
curses库是一组函数,程序员可以用它们来设置光标的位置和终端屏幕上显示的字符样式。curses库最初是由UCB的开发小组开发的。大部分控制终端屏幕的程序使用curses。曾经由一组简单的函数组成的库现在包括了许多复杂的特性。
ubuntu下安装方法:
sudo apt-get install libncurses5-dev
curses的基本用法如下:
1. 包含头文件:curses.h
2. 编译时应加上链接语句-lcurses,如:gcc temp.c -o temp -lcurses
3. 重要的函数:
initscr():初始化curses库和ttty。(在开始curses编程之前,必须使用initscr()这个函数来开启curses模式)
endwin():关闭curses并重置tty。(结束curses编程时,最后调用的一个函数)
cbreak():开启cbreak模式,除了 DELETE 或 CTRL 等仍被视为特殊控制字元外一切输入的字元将立刻被一一读取
crmode():使得终端进入到cbreak模式。
raw()和cbreak()都可以禁止行缓冲。区别是:在raw()函数模式下,处理挂起(CTRLZ)、终端或退出(CTRLC)等控制字符时,将直接传送给程序去处理而不产生终端信号;而在cbreak()函数模式下,控制字符被终端驱动程序解释成其它字符。
move(y,x): 将游标移动至 x,y 的位置.
getyx(win,y,x): 得到目前游标的位置. (请注意! 是 y,x 而不是&y,&x )
clear() and erase(): 将整个萤幕清除. (请注意配合refresh() 使用)
echochar(ch): 显示某个字元.
int noecho(void): 用户输入字符不回显。
nl()/nonl():输出时,换行是否作为回车字符。nl函数将换行作为回车符,而nonl作用相反。
addch(ch): 在当前位置画字符ch
mvaddch(y,x,ch): 在(x,y) 上显示某个字元. 相当於呼叫move(y,x);addch(ch);
addstr(str): 在当前位置画字符串str
mvaddstr(y,x,str): 在(x,y) 上显示一串字串. 相当於呼叫move(y,x);addstr(str);
printw(format,str): 类似 printf() , 以一定的格式输出至萤幕.
mvprintw(y,x,format,str): 在(x,y) 位置上做 printw 的工作. 相当於呼叫move(y,x);printw(format,str);
getch(): 从键盘读取一个字元. (注意! 传回的是整数值)
getstr(): 从键盘读取一串字元.
scanw(format,&arg1,&arg2...): 如同 scanf, 从键盘读取一串字元.
int mvhline(int x, int y, chtype ch, int n);
int mvvline(int x, int y, chtype ch, int n); 在光标(x,y)位置画n个ch组成的线。mvhlin画水平线,mvvline画竖线。光标位置不变。调用成功返回OK,否则返回ERR。
beep(): 发出一声哔声.
box(win,ch1,ch2): 自动画方框
intrflush(WINDOW *win,bool bf): win为标准输出。当bf为true时输入Break,可以加快中断的响应。但是,有可能会造成屏幕输出信息的混乱。
refresh(): 使屏幕按照你的意图显示。比较工作屏幕和真实屏幕的差异,然后refresh通过终端驱动送出那些能使真实屏幕于工作屏幕一致的字符和控制码,把虚拟屏幕上的图像输出到终端屏幕上。(工作屏幕就像磁盘缓存,curses中的大部分的函数都只对它进行修改)调用成功返回OK,否则返回ERR。
standout(): 启动standout模式(一般使屏幕发色)
相关阅读
ps命令是查看进程状态的基础指令,有以下几个常用参数:一:最常用的参数组合及解析1. 如果想查看包含其他使用者的进程,和PID,CPU占有率,
这篇文章主要讲解怎么在小米5s plus上安装Xposed框架以及遇到的问题。 Xposed安装前,需要获取root权限,对于小米手机而言,由于就是为
1、首先备份Ubuntu源列表:sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup 2、打开更新源列表:sudo gedit /etc/apt/s
目录 一、WebSphere 是什么? 二、安装 三、添加服务 四、部署&发布应用 五、访问web应用 一、WebSphere 是什么? WebSph
文章出处:https://www.cnblogs.com/lyon2014/p/4715379.html 如国内网络使用ubuntu 则会出现apt-get无法安装更新的问题,这时大