感谢:https://blog.csdn.net/fei86155/article/details/70239018的作者。
Linux下curses库的基本操作
枪杆子里面出哑炮 2017-04-19 13:11:43 1725 收藏 3
版权
一、中文显示乱码的问题
1、包含头文件 #include<locale.h>
2、在init()之前加上setlocale(LC_ALL,"");
3、编译时加上 -lncursesw
二、如何使用
一、如何进入、退出ncurses模式
#include<stdio.h>
#include<curses.h>
#include<signal.h>
int main()
{
// WINDOW * new;
initscr();
move(LINES/2,COLS/2);
addstr("Hello!");
getch();
endwin();
}
initscr()//初始化,进入ncurses模式
endwin()退出ncurses模式
二、常用函数
1、move(y,x);将光标移动至(x,y)处。
2、refresh();我们写入的内容首先会在系统缓冲区中,经过refresh()函数刷新之后才能够显示到屏幕上。
3、echo()和noecho();输入的字符显示和不显示在终端上。可以用密码输入。
4、输出:
addch();显示一个字符
addstr();显示一串字符串
printw(“格式”,变量);显示指定格式的内容,类似于printf();
mvaddstr();移动到某个位置输出。
5、输入:
getch();输入一个字符
getstr();输入一串字符串
scanw("%s",s);;按指定格式输入内容,类似于scanf();
mvaddstr();移动到某个位置输入。
6、输出修饰:
attron();打开输出修饰
attroff();关闭输出修饰
可修饰类型:
A_NORMAL 普通字符输出 (不加亮显示)
A_STANDOUT 终端字符最亮
A_UNDERLINE 下划线
A_REVERSE 字符反白显示
A_BLINK 闪动显示
A_DIM 半亮显示
A_BOLD 加亮加粗
A_PROTECT 保护模式
A_INVIS 空白显示模式
A_ALTCHARSET 字符交替
A_CHARTEXT 字符掩盖
COLOR_PAIR(n) 前景、背景色设置
eg:
attron(A_BOLD|A_BLINK);
addstr(“Hello!”);
attroff(A_BOLD|A_BLINK);
三、窗口机制
1、创建窗口
WINDOW * new;
new = newwin(b,a,y,x); 创建一个新的窗口从(x,y)处规格为(a,b)大小。
2、窗口边框修饰
(1)box(new,ACS_VLINE,ACS_HLINE);
或者box(new,‘|’,‘-’)等。镶上一个边框。
(2)wborder(win,’|’,’|’,’-’,’-’,’+’,’+’, ‘+’,’+’);
+-----+
| |
±----+
3、其余操作基本相同如下:
wmove();
waddstr()
wscanw();
wrefresh();…
当进入ncurse是用CTRL+C退出。
————————————————
版权声明:本文为CSDN博主「枪杆子里面出哑炮」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/fei86155/article/details/70239018