您当前的位置:首页 > 计算机 > 编程开发 > C语言

怎样通过ANSI驱动程序来写带有颜色的文本和移动光标

时间:01-03来源:作者:点击数:

怎样通过ANSI驱动程序来写带有颜色的文本?

文本的颜色是可以改变的文本属性之一。文本的属性可以通过“(esc>[<attr>m”来改变。在ANSI字符序列中,文本的属性是用数字来表示的。你可以用一条命令来设置多种属性,各种属性之间用分号分隔开,例如“<esc>[<attr>;<attr>m"。下面的程序演示了这一点:

    # include <stdio.h>
    main ( )
    {
          printf("%c[32;44mPsychedelic, man.\n" , 27 );
        return( 0 );
    }

以下列出了ANSI驱动程序所支持的属性,你的显示器可能不支持其中的某些选项:
        1—High Intensity(高强度)
        2一Low Intensity(低强度)
        3一Italic(斜体)
        4一Underline(下划线)
        5一Blinking(闪烁)
        6一Fast Blingking(快闪)
        7一Reverse(反转)
        8一Invisible(不可见)
前景色:
        30一Black(黑)
        31一Red(红)
        32一Green(绿)
        33一Yellow(黄)
        34一Blue(蓝)
        35一Magenta(洋红)
        36一Cyan(青蓝)
        37一White(白)
背景色:
        40—Black(黑)
        41一Red(红)
        42一Green(绿)
        43一Yellow(黄)
        44一Blue(蓝)
        45一Magenta(洋红)
        46一Cyan(青蓝)
        47一White(白)

怎样通过ANSI驱动程序来移动光标?

移动光标有两种方式:相对移动和绝对移动。相对移动是指相对于当前光标位置的移动,例如“将光标上移两格”。绝对移动是指相对于屏幕左上角的移动,例如“将光标移到第10行第5列”。

相对移动可按以下方式进行:
         “<esc>[#a”,其中#表示上移的格数
         “<esc>[#b”,其中#表示下移的格数
         “<esc>[#c”,其中#表示右移的格数
         “<esc>[#d”,其中#表示左移的格数

将光标移到绝对位置的方法是:
         “<esc>[<row>;<col>H”,其中row和col分别表示目标位置所在的行数和列数。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门