zoukankan      html  css  js  c++  java
  • 编程利用利用curses库编程开始

    时间紧张,先记一笔,后续优化与完善。

        curses库常用函数:

        编程和利用

        注意编译时要用这样的格式:gcc xxx.c -l curses -o xxx

        第一个小例子:

    include <stdio.h>
    #include <curses.h>
    
    int main()
    {
        initscr();
    
        clear();
        move(10,20);
        addstr("Hello, world");
        move(LINES-1, 0); 
        refresh();
        getch();
        endwin();
        return 0;
    }

        运行效果如下:

        编程和利用

        

        第二个小例子:

    #include <stdio.h>
    #include <curses.h>
    
    int main()
    {
        int i;
    
        initscr();
        clear();
        for (i = 0; i < LINES; i++)
        {   
            move(i, i+1);
            if (i%2 == 1)
                standout();     //反白显示
            addstr("Hello, world");
            if (i%2 == 1)
                standend();     //关闭反白显示
        }   
        refresh();
        getch();
        endwin();
        return 0;
    }

        运行效果:

        编程和利用

        第三个小例子:

        每日一道理
    古人云:“海纳百川,有容乃大。”人世间,不可能没有矛盾和争吵,我们要以磊落的胸怀和宽容的微笑去面对它 。哈伯德也曾说过:“宽恕和受宽恕的难以言喻的快乐,是连神明都会为之羡慕的极大乐事。”让我们从宽容中享受快乐,从谅解中体会幸福吧!
    #include <stdio.h>
    #include <curses.h>
    
    int main()
    {
        int i;
    
        initscr();
        clear();
        for (i = 0; i < LINES; i++)
        {   
            move(i, i+1);
            if (i%2 == 1)
                standout();
            addstr("Hello, world");
            if (i%2 == 1)
                standend();
            refresh();
            sleep(1);
            move(i, i+1);                   //move back
            addstr("             ");        //erase the line appear before
        }   
        endwin();
        return 0;
    }

        运行效果:字符串沿着对角线一行一下行的向下挪动

        第四个小例子:

    #include <stdio.h>
    #include <curses.h>
    
    #define LEFTEDGE    10  /* 左边界 */
    #define RIGHTEDGE   30  /* 右边界 */
    #define ROW         10  
    
    int main()
    {
        char *message = "Hello";
        char *blank = "     ";
        int dir = 1;
        int pos = LEFTEDGE;
    
        initscr();
        clear();
        while (1) 
        {   
            move(ROW, pos);
            addstr(message);        /* draw string */
    //      move(LINES-1, COLS-1);
            refresh();              /* show string */
            sleep(1);
            move(ROW, pos);         /* move back */
            addstr(blank);          /* erase string */
            pos += dir;             /* advance position */
            if (pos >= RIGHTEDGE)   /* check for bounce */
                dir = -1; 
            if (pos <= LEFTEDGE)
                dir = 1;
        }   
        return 0;
    }

        运行效果:在(ROW,LEFTEDGE)----(ROW,RIGHTEDGE)间往返挪动字符串

    文章结束给大家分享下程序员的一些笑话语录: 警告
    有一个小伙子在一个办公大楼的门口抽着烟,一个妇女路过他身边,并对他 说, “你知道不知道这个东西会危害你的健康?我是说, 你有没有注意到香烟 盒上的那个警告(Warning)?”
    小伙子说,“没事儿,我是一个程序员”。
    那妇女说,“这又怎样?”
    程序员说,“我们从来不关心 Warning,只关心 Error”

    --------------------------------- 原创文章 By
    编程和利用
    ---------------------------------

  • 相关阅读:
    1. Java 基础概念
    IDEA 插件
    IDEA 初始化配置
    二叉查找树
    阿里云安装Redis教程与相关问题
    H2知识小结
    重装VisualSVN Server报错
    linux(centos6.10)下去掉mysql的强密码验证
    TP-LINK路由器端口映射全套教程(亲测有效)
    idea2018.3.6,离线使用maven的方法
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3153253.html
Copyright © 2011-2022 走看看