文本的颜色是可以改变的文本属性之一。文本的属性可以通过“(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(白)
移动光标有两种方式:相对移动和绝对移动。相对移动是指相对于当前光标位置的移动,例如“将光标上移两格”。绝对移动是指相对于屏幕左上角的移动,例如“将光标移到第10行第5列”。
相对移动可按以下方式进行:
“<esc>[#a”,其中#表示上移的格数
“<esc>[#b”,其中#表示下移的格数
“<esc>[#c”,其中#表示右移的格数
“<esc>[#d”,其中#表示左移的格数
将光标移到绝对位置的方法是:
“<esc>[<row>;<col>H”,其中row和col分别表示目标位置所在的行数和列数。