看官们,咱们今天要说的内容还是curses库,我们今天主要说它的用法。闲话休说,言归正转。


下面是我利用curses函数库写的一个显示棋盘的小程序,请大家参考:

     1    #include<unistd.h>
     2    #include<stdlib.h>
     3    #include<ncurses.h>
     4    
     5    int main()
     6    {
     7        int i;
     8    
     9        initscr();              //初始化屏幕
    10    
    11        if(!has_colors())       //确认终端是否支持彩色显示
    12        {
    13            endwin();
    14            printf("can't support color \n");
    15            return 0;
    16        }
    17    

    18        if(start_color() != OK)  //确认初始化彩色显示是否成功
    19        {
    20            endwin();
    21            printf("can't initialize color \n");
    22            return 0;
    23        }
    24        

    25        init_pair(3,COLOR_RED, COLOR_WHITE);  //设置颜色对前景红色,背景白色
    26        attrset(COLOR_PAIR(3));               //使用刚才设置的颜色
    27    
    28        for(i=0; i< 18; i+=2)                 //画横线和竖线
    29        {
    30                mvvline(9,2+i,'|',9);
    31                mvvline(9,2+i+1,'_',9);
    32        }
    33    

    34        refresh();                           //刷新屏幕,以便显示内容
    35        getch();                             //等待用户输入
    36        sleep(2);                            //暂停两秒
    37    
    38        endwin();                            //释放屏幕相关的资源
    39    
    40        return 0;
    41    }
    42    


把上面的代码保存成C语言源文件,然后使用gcc编译,编译时需要使用l选项(lncurses).编译完后的运

行结果如下图所示:


我本来是想使用curses库画一些图形,使用后发现,它的图形功能不强,而且使用不方便,因此,不准备

在它上面花费过多的时间和精力。鉴于这个原因,我没有详细介绍其中的原理和使用方法,大家可以参考

代码中的注释,了解简单的用法。


各位看官们,今天的内容就到此为止,欲知后事如何,且听下回分解。


Logo

更多推荐