linuxi学习curses(1)

#include<curses.h>
/*
在initscr();后调用。
终端是否支持颜色:bool has_colors();
初始化颜色:int start_colors();
定义颜色对:int init_pair(short pair,short fore,short back);
使用颜色对:COLOR_PAIR(short pair);
*/
int main()
{
    WINDOW *w=initscr();
    if(has_colors()==TRUE)
    {
        start_color();
        init_pair(1,COLOR_RED,COLOR_WHITE);
        init_pair(2,COLOR_RED,COLOR_GREEN);
        bkgd(COLOR_PAIR(2));//整体颜色
    }
    border(0,0,0,0,0,0,0,0);
    box(stdscr,0,0);//画边框,0都代表系统默认格式
    mvhline(2,10,'=',20);//第几行第几列输出多少个字符
    //mvhline(2,10,'|',20);
    mvaddch(3,10,'A'|A_BOLD|A_UNDERLINE|COLOR_PAIR(1));//指定位置输出字符//man attron
    attron(COLOR_PAIR(1));//开启属性
    mvaddstr(5,10,"hello");//输出字符串
    attroff(COLOR_PAIR(1));//关闭属性
    mvprintw(9,10,"行:%d,列:%d",LINES,COLS);//格式字符输出到窗口
    refresh();//刷屏,显示效果
    //wrefresh(WINDOW *w);
    getch();
    endwin();
    return 0;
}

cur_init:

    gcc cur_init.c -o main -l curses

如果系统中没有curses库,那么获取安装:sudo apt-get install libncurses5-dev

时间: 2024-09-16 17:10:09

linuxi学习curses(1)的相关文章

linuxi学习curses(3) 学习输入

//字符输入 #include <curses.h> main() {     int ch;     int x=5,y=5;     initscr();     keypad(stdscr,TRUE);     curs_set(0);     noecho();     mvaddch(y,x,'A');     while(1)     {         ch=getch();         //mvaddch(y,x,' ');         //clrtoeol();   

linuxi学习curses(2) 时间显示器

#include <curses.h> #include <time.h> #include <unistd.h> void init(); void drawui(); void business(); void destroy(); main() { init(); drawui(); business(); destroy(); } void business() { time_t tt; struct tm *t; while(1) { //取时间 tt=tim

python curses使用

一.语法入门 1.打开和关闭一个curses 应用程序 在任何代码执行前都先要初始化curses.初始化操作就是调用initscr()函数,如下.该函数根据不同设备返回一个window对象代表整个屏幕,这个window对象通常叫做stdscr,和c语言报错一致. import curses stdscr = curses.initscr() 使用curses通常要关闭屏幕回显,目的是读取字符仅在适当的环境下输出.这就需要调用noecho()方法 curses.noecho() 应用程序一般是立即

简单的Python的curses库使用教程_python

curses 库 ( ncurses ) 提供了控制字符屏幕的独立于终端的方法.curses 是大多数类似于 UNIX 的系统(包括 Linux)的标准部分,而且它已经移植到 Windows 和其它系统.curses 程序将在纯文本系统上.xterm 和其它窗口化控制台会话中运行,这使这些应用程序具有良好的可移植性.介绍 curses Python 的标准 curses 提供了"玻璃电传"(glass teletype)(在 20 世纪 70 年代,原始 curses 库刚创建时,它叫

学习C语言要掌握的几个库_C 语言

一.工具的使用 1.学会使用vim/emacs,vim/emacs是linux下最常用的源码编辑器,不光要学会用它们编辑源码,还要学会用它们进行查找.定位.替换等.新手的话推荐使用vim,这也是我目前使用的文本编辑器. 2.学会makefile文件的编写规则,并结合使用工具aclocal.autoconf和automake生成makefile文件. 3.掌握gcc和gdb的基本用法.掌握gcc的用法对于构建一个软件包很有益处,当软件包包含的文件比较多的时候,你还能用gcc把它手动编译出来,你就会

从8个方面对移动设备阅读体验进行研究学习

一直想对移动设备阅读体验进行较为完整的研究和学习,但内容太多,涉及到非常多的传统平面设计知识,目前仅初步地完整字体部分.完整的研究框架包括: 1.界面版式设计的方法.常用的栅格分割适合移动设备多分辨率复杂内容的自动排版,内容可控制时是否可以模仿杂志的复杂不规则排版方式,以达到最佳的阅读体验. 2.移动设备上最佳的字体有什么必要的设计要素?如下图,更多的内容包括字体颜色.字间距.行间距和字体渲染等,不同的内容需要不同的字体.随着屏幕分辨率和显示精度的发展,字体也有一个进化过程. 3.屏幕亮度等参数

值得学习的19个jQuery和CSS按钮教程

jQuery是继prototype之后又一个优秀的Javascrīpt框架,使用户能更方便地处理HTML documents.events.实现动画效果,并且方便地为网站提供AJAX交互.相对于传统HTML的表现而言,CSS能够对网页中的对象的位置排 版进行像素级的精确控制,支持几乎所有的字体字号样式,拥有对网页对象盒模型的能力,并能够进行初步交互设计,是目前基于文本展示最优秀的表现设计语言. 这里就将分享国外19个值得学习的jQuery和CSS按钮教程,希望能有所帮助. Awesome CSS

[Java]基本的学习实例

好久没有更新了,偷懒,该打!1.这个是一个基本的文件操作,实现对文件读取.写入一个数字的操作的package trying;import java.io.*; /** * @author gooing */public class FileRw { private File f = new File("d:\\j2\\a.txt"); public int getNum(){ int i = -1; try{ String stri=""; BufferedRead

java web实现增删改查后,应该学习哪些高级技术?

问题描述 java web实现增删改查后,应该学习哪些高级技术? 做了个小项目,实现了curd,想继续往缓存,并发,负载高级深入,请推荐一个详细的高级技术路线?最好有书 解决方案 javaweb深入浅出,不过这个方向研究,主要还是在公司里学的会更实用些 解决方案二: 多线程,Socket,I/O JSP.EL.JSTL,AJAX JavaScript,jQuery JSON,XML EJB(可忽略) 各种框架 ......太多了 解决方案三: 多线程,Socket,I/O JSP.EL.JSTL