1、初始化颜色
//init_pair(short index,short foreground,short background)初始化颜色索引
//attron(COLOR_PAIR(索引号)|属性)
属性如下:
A_NORMAL Normal display (no highlight)
A_STANDOUT Best highlighting mode of the terminal.亮色
A_UNDERLINE Underlining
A_REVERSE Reverse video
A_BLINK Blinking闪烁
A_DIM Half bright半亮度
A_BOLD Extra bright or bold高亮度
A_PROTECT Protected mode
A_INVIS Invisible or blank mode
A_ALTCHARSET Alternate character set另类字符集
A_CHARTEXT Bit-mask to extract a character
2、编译:
1)必须安装cursesew库
sudo apt-get install libncursesw5-dbg libncursesw5-dev
2)编译
mysea@mysea-desktop:~/test$ gcc -lncursesw -std=c99 -o cursestest cursestest.c
cursestest.c: In function ‘main’:
cursestest.c:12: warning: implicit declaration of function ‘exit’
cursestest.c:12: warning: incompatible implicit declaration of built-in function ‘exit’
mysea@mysea-desktop:~/test$ ./cursestest
3、代码
#include <ncursesw/ncurses.h>
#include <locale.h>
int main(void){
//init_pair(short index,short foreground,short background)初始化颜色索引
//attron(COLOR_PAIR(索引号)|属性)
setlocale(LC_ALL,"");
initscr();//初始化
box(stdscr,ACS_VLINE,ACS_HLINE);//画边框
if (!has_colors()||start_color()==ERR){
endwin();
printf("终端不支持颜色\n");
exit(1);
}
init_pair(1,COLOR_GREEN,COLOR_BLACK);
init_pair(2,COLOR_RED,COLOR_BLACK);
init_pair(3,COLOR_WHITE,COLOR_BLUE);
for (int i=1;i<=3;i++){
attron(COLOR_PAIR(i));
move(i,10);
printw("deepfuture.iteye.com颜色:%d",i);
}
for (int i=1;i<=3;i++){
attron(COLOR_PAIR(i)|A_UNDERLINE);
move(i+5,10);
printw("deepfuture.iteye.com颜色+下划线:%d",i);
}
refresh();//刷新屏幕
getch();//等待按键
endwin();//结束
return 0;
}
- 大小: 17.9 KB
分享到:
相关推荐
通过curses库,C语言开发者可以在Linux终端上创建具有交互性和颜色、样式控制的复杂界面,适用于文本模式的应用程序,如游戏、控制台工具或网络应用。它简化了终端操作,使得开发者不必关心底层的终端控制细节,更...
### curses编程初步:掌握Linux下的文本界面开发 #### 一、引言 curses库是Linux及类Unix系统中用于创建文本用户界面(TUI)的一种强大工具。它可以帮助开发者构建功能丰富的应用程序,如游戏、配置工具等,而无需...
在Linux环境下,curses库通常包含在ncurses(New curses)项目中,这是一个更现代、更强大的版本,提供了对ANSI C标准的完全支持。ncurses不仅兼容老版本的curses,还增加了许多新特性,如: - **宽字符支持**:...
根据提供的文件信息,我们可以推断出这是一本关于 Linux 下 NCurses 库使用的专业书籍《程序员的 NCurses 指南》(Programmer’s Guide to NCurses)的版权页及部分目录信息。以下是对该书可能涉及的重要知识点的...
在Linux环境下,使用curses库开发篮球积分系统是一项有趣且实用的编程挑战。curses库是一种为终端用户界面提供低级处理的库,它允许程序员创建动态文本界面,非常适合用于控制台应用程序,如我们的篮球计分器。在这...
### Linux命令行终端图形界面编程库curses介绍 #### 一、概述 curses是一个功能强大的函数库,广泛应用于Linux/Unix系统中的图形界面开发。它允许开发者在文本模式下的终端环境中创建图形用户界面(GUI),使原本...
《Linux环境下C语言实现的curses聊天程序解析》 在信息技术领域,开发跨平台的应用程序是常见的需求,尤其是在操作系统如Linux上。本文将探讨一款基于C语言并利用curses库在Linux系统下构建的局域网聊天软件。该...
curses是一个用于创建基于文本的用户界面的库,它在Linux和类UNIX环境中非常流行。curses的重要性在于它提供了一个介于简单的基于行的程序和复杂的图形界面(如GTK/GNOME或QT/KDE)之间的解决方案。随着图形用户界面...
同时,由于CDK是用C语言编写的,所以它能够很好地融入到各种C或C++项目中,与其他系统组件无缝集成。 总结来说,Linux系统中的curses库和CDK工具集是开发字符终端应用的强大武器,它们简化了终端界面编程的复杂性,...
1. **curses库**: curses是一个低级的终端处理库,它提供了一种方式来控制终端的输出,包括清除屏幕、移动光标、设置颜色等。在本项目中,curses用于创建一个全屏的字符界面,显示贪吃蛇和食物的位置,以及游戏得分...
1. **窗口管理**:Curses提供了一个窗口系统,允许你在终端上创建、移动和删除窗口。每个窗口都可以独立地进行文本输出和输入处理。 2. **光标控制**:你可以精确地控制光标的移动,包括上、下、左、右以及相对当前...
### Linux程序设计第四版知识点概览 #### 一、书籍基本信息 - **书名**:《Beginning Linux Programming》第四版 - **作者**:Neil Matthew 和 Richard Stones - **出版社**:Wiley Publishing, Inc. - **出版日期*...
`curses`库在Unix/Linux系统中非常常见,但在Windows环境中并不内置,因此这个`.whl`包提供了一个方便的方式来在Windows上使用curses的功能。`curses`库主要提供了一系列函数,使得开发者可以处理文本模式的界面,...
### Python Curses编程教程知识点概览 #### 一、概述 **1.1 功能** 在许多常用的程序中,为了实现高效的人机交互,需要利用终端的光标移动能力。例如,`vi` 编辑器中的大多数命令都依赖于这种能力:按下 `j` 键...
【彩色打印】curses库提供了设置颜色的能力,通过`start_color()`初始化颜色,然后使用`init_pair()`定义颜色对,最后用`attron()`和`attroff()`控制颜色的开关。例如,`attron(A_REVERSE)`可以使文字反显,`attron...
总的来说,"Conio for Linux-开源"是一个将DOS和Windows环境下C语言编程常用的conio库移植到Linux平台的开源项目,它利用Curses库实现了类似的函数和接口,便于开发者在Linux上编写控制台程序。这个项目的开源性质...
《Linux程序设计》第四版是一本经典的Linux C编程入门书籍,由Neil Matthew和Richard Stones编写,由Wiley Publishing, Inc.出版。本书旨在为读者提供全面而深入的Linux环境下的C语言编程指导。 #### 主要知识点...
`curses.h` 是C语言的一个头文件,它提供了低级别的文本输出功能,使程序员能够高效地管理屏幕上的文本显示,尤其是在控制台或终端上。这个库特别适用于创建动态、交互式的文本用户界面(TUI)。 `curses` 库最初是...