printf输出字体颜色

合集下载

shell脚本--echo和printf打印输出

shell脚本--echo和printf打印输出

shell脚本--echo和printf打印输出bash&shell系列⽂章:注:本⽂关于引号等特殊符号的处理仅仅只是⼏个例⼦,想要彻底搞明⽩shell对特殊符号的解析,见另⼀篇⽂章。

1.2.1 echo引号和感叹号问题关于echo的⽤法,注意点就是单引号和双引号的特殊情况。

另外,在bash环境下,感叹号只能通过单引号包围来输出,因为此时感叹号表⽰引⽤历史命令,除⾮设置"set +H"关闭历史命令的引⽤。

⽽在shell脚本中不会出现这类问题。

以打印“Hello World!”为例。

[root@xuexi tmp]# echo Hello World!Hello World![root@xuexi tmp]# echo'Hello World!'Hello World![root@xuexi tmp]# echo"Hello World!" #双引号不能打印感叹号-bash: !": event not found[root@xuexi tmp]# echo Hello World!;echo'Hello World!'-bash: !: event not found[root@xuexi tmp]# echo'Hello World!';echo Hello World! #感叹号可以在最结尾Hello World!Hello World!从上⾯⼏个实验发现,在bash环境下,要输出感叹号必须使⽤单引号。

这是因为默认情况下开启了使⽤感叹号引⽤内存中的历史命令的设置,可以使⽤set +H 关闭该设置,这时可以使⽤感叹号输出。

[root@xuexi tmp]# set +H[root@xuexi tmp]# echo"Hello World!"Hello World!或者使⽤多对引号分别包围echo的参数,其中感叹号使⽤单引号包围,如下。

c语言printf打印汉字的用法

c语言printf打印汉字的用法

c语言printf打印汉字的用法C语言中使用printf函数打印汉字的用法
在C语言中,我们可以使用printf函数来打印输出汉字。

下面是使用printf函
数打印汉字的简单示例:
1. 首先,确保你的代码文件以UTF-8编码保存,以支持汉字字符的输入和输出。

2. 使用"%s"格式化说明符打印字符串时,需要将汉字字符保存在一个字符数组中,确保数组的大小足够容纳汉字字符。

3. 示例代码如下所示:
```c
#include <stdio.h>
int main() {
char chinese[] = "你好,世界!"; // 包含汉字的字符数组
printf("%s\n", chinese); // 使用"%s"格式化说明符打印汉字
return 0;
}
```
在上面的示例中,我们定义了一个名为chinese的字符数组,其中保存了一个
包含汉字的字符串。

然后,我们使用printf函数和"%s"格式化说明符来打印这个字
符数组。

注意事项:
- 请确保正确设置你的编译环境以支持UTF-8编码和打印汉字。

- 如果你在终端中输出乱码,请检查终端的字符编码设置是否为UTF-8。

- 在一些特殊情况下(例如Windows的命令行窗口),可能需要使用特殊函数或库来支持汉字的打印,请参考相关文档和资料进行调整。

通过上述示例,你可以在C语言中使用printf函数打印汉字。

记住适当设置编码和环境参数,以确保正确打印和显示汉字字符。

printf函数的用法及注意事项 -回复

printf函数的用法及注意事项 -回复

printf函数的用法及注意事项-回复printf函数是C语言中常用的输出函数之一,用于向标准输出设备(通常是显示器)打印格式化的字符串。

本文将详细介绍printf函数的用法及注意事项。

一、基本用法printf函数的原型如下:int printf(const char *format, ...);它接收一个格式化的字符串format作为参数,该字符串可以包含普通字符和格式控制符。

格式控制符以开头,可用于指定输出的格式类型或占位符。

1. 普通字符输出普通字符会原样输出,不受格式控制符的影响。

我们可以直接在format 字符串中写入普通字符,例如:printf("Hello, World!");2. 格式控制符格式控制符用于指定输出的格式类型或占位符。

常用的格式控制符包括:- d或i:以十进制整数形式输出。

- u:以无符号十进制形式输出。

- f:以小数形式输出。

- c:以字符形式输出。

- s:以字符串形式输出。

- p:以指针的十六进制形式输出。

- :输出一个百分号。

具体的格式控制符及其使用方式可以参考C语言的相关教程。

3. 格式化输出printf函数的主要功能是格式化输出。

可以通过在字符串中插入格式控制符,并在其后传递相应的参数来输出不同类型的数据。

例如:int num = 10;printf("The number is d", num);输出结果为:The number is 104. 多个参数输出printf函数支持输出多个参数,通过在字符串中使用多个格式控制符,并按顺序传递相应的参数。

例如:int num1 = 10, num2 = 20;printf("The numbers are d and d", num1, num2);输出结果为:The numbers are 10 and 205. 返回值printf函数返回成功打印字符的个数(不包括字符串结尾的'\0'),若出现错误则返回负数。

c语言printf的用法详解

c语言printf的用法详解

c语言printf的用法详解printf函数是C语言中一个用于输出格式化字符串的函数。

其原型为:```cint printf(const char *format, ...);```该函数的主要作用是将格式化的字符串输出到标准输出(显示器)中。

下面是对printf函数的用法进行详细介绍:1.输出字符串:直接在format参数中写入要输出的字符串即可。

```cprintf("Hello, World!");```2.输出变量:使用格式控制符以及相应的参数,将变量的值输出。

```cint num = 10;printf("The number is %d", num);```在上述代码中,%d是格式控制符,用于输出整数类型的变量。

这样程序会将num的值替换%d,并输出到标准输出中。

3.输出多个变量:可以在format参数中使用多个格式控制符,并按照顺序传递相应的参数。

```cint x = 10;int y = 20;printf("The values are %d and %d", x, y);```4.格式控制符的使用:printf函数中的格式控制符用于指定输出参数的类型和格式。

常见的格式控制符包括:- %d:输出十进制整数- %ld:输出长整数- %f:输出浮点数- %c:输出字符- %s:输出字符串- %p:输出指针的地址还可以使用一些标识符来控制格式化输出的样式,例如:- %4d:输出四位整数,不足四位用空格填充- %06d:输出六位整数,不足六位用0填充- %.2f:输出浮点数并取两位小数5.转义字符的使用:printf函数支持使用转义字符来输出特殊字符,常见的转义字符包括:- \n:换行- \t:制表符- \\:反斜杠- \":双引号```cprintf("This\tis an example\n");```除了上述常见的用法,printf函数还可以通过控制修饰符控制输出的格式,例如输出的对齐方式,输出的颜色等等。

printf输出字体颜色

printf输出字体颜色

printf输出字体颜色有时候为了实现在终端输出的时候字体能够带颜色,并且可以产生简单的闪烁的功能,特写了下列的代码实现hello world的带颜色的输出,并且每过一秒产生一个闪烁的功能.(注:具体还得判断终端类型)CODE:#include<stdio.h>#include<unistd.h>#include<signal.h>#include<stdlib.h>int flag = 0;void sig_int(int signum){if (flag == 1)fprintf(stderr, "\033[47;31mhello world\033[5m");fprintf(stderr,"\033[;\033[0m");fprintf(stderr,"\033[;\033[0m");printf("\n");exit(0);}int main(){int i = 0;struct sigaction sig_act;sig_act.sa_handler = sig_int;sigemptyset(&sig_act.sa_mask);sig_act.sa_flags = 0;if (sigaction(SIGINT, &sig_act, NULL) < 0){fprintf(stderr, "signal error\n");exit(1);}while (i++ < 10){fprintf(stderr, "\033[;\033[s");fprintf(stderr, "\033[47;31mhello world\033[5m");flag = 0;sleep(1);fprintf(stderr, "\033[;\033[u");fprintf(stderr, "\033[;\033[K");flag = 1;sleep(1);}fprintf(stderr, "\033[47;31mhello world\033[5m");fprintf(stderr,"\033[;\033[0m");printf("\n");return 0;}该程序实现输出十次hello world然后退出. 使用一个信号是为了还原默认的终端输出的颜色.另外再讲讲如何输出颜色以及颜色的代码.格式:CODE:printf("\033[字背景颜色;字体颜色m字符串\033[0m" );printf("\033[47;31mhello world\033[5m");47是字背景颜色, 31是字体的颜色, hello world是字符串. 后面的\033[5m是控制码.颜色代码:QUOTE:字背景颜色范围: 40--49 字颜色: 30--3940: 黑 30: 黑41: 红 31: 红42: 绿 32: 绿43: 黄 33: 黄44: 蓝 34: 蓝45: 紫 35: 紫46: 深绿 36: 深绿47: 白色 37: 白色ANSI控制码:QUOTE:\033[0m 关闭所有属性\033[1m 设置高亮度\03[4m 下划线\033[5m 闪烁\033[7m 反显\033[8m 消隐\033[30m -- \033[37m 设置前景色\033[40m -- \033[47m 设置背景色\033[nA 光标上移n行\03[nB 光标下移n行\033[nC 光标右移n行\033[nD 光标左移n行\033[y;xH设置光标位置\033[2J 清屏\033[K 清除从光标到行尾的内容\033[s 保存光标位置\033[u 恢复光标位置\033[?25l 隐藏光标\33[?25h 显示光标这样, 在某些时候就可以实现动态的输出.。

CC++控制台输出时设置字体及背景颜色

CC++控制台输出时设置字体及背景颜色

CC++控制台输出时设置字体及背景颜色1.改变整个控制台的颜色用 system("color 0A");其中color后面的0是背景色代号,A是前景色代号。

各颜色代码如下:0=黑色1=蓝色2=绿色3=湖蓝色4=红色5=紫色6=黄色7=白色8=灰色9=淡蓝色A=淡绿色B=淡浅绿色C=淡红色D=淡紫色E=淡黄色F=亮白色2.改变下一个输出或者输入字体和背景的颜色采用SetConsoleTextAttribute函数,如White on Black:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HAN DLE),FOREGROUND_INTENSITY |FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);Red on Black:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HAN DLE),FOREGROUND_INTENSITY |FOREGROUND_RED);Green on Black:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HAN DLE),FOREGROUND_INTENSITY |FOREGROUND_GREEN);Yellow on Black:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HAN DLE),FOREGROUND_INTENSITY |FOREGROUND_RED | FOREGROUND_GREEN);Blue on Black:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HAN DLE),FOREGROUND_INTENSITY |FOREGROUND_BLUE);Magenta on Black:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HAN DLE),FOREGROUND_INTENSITY |FOREGROUND_RED | FOREGROUND_BLUE);Cyan on Black:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HAN DLE),FOREGROUND_INTENSITY |FOREGROUND_GREEN | FOREGROUND_BLUE);Black on Gray:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HAN DLE),BACKGROUND_INTENSITY |BACKGROUND_INTENSITY);Black on White:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY |FOREGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE);Red on White:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HAN DLE),BACKGROUND_INTENSITY |FOREGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE |FOREGROUND_RED);等等。

c语言颜色字体库函数

c语言颜色字体库函数
C语言中的颜色字体库函数是一组用于改变控制台输出文字颜色和字体的函数。

这些函数可以让程序员在控制台输出文字时,更好地区分不同的信息,增强程序的可读性和美观度。

在C语言中,常用的颜色字体库函数有以下几种:
1. textcolor():用于改变文字的颜色,可以接受一个整数参数,代表要改变的颜色值。

2. textbackground():用于改变文字的背景颜色,可以接受一个整数参数,代表要改变的颜色值。

3. textmode():用于改变文字的显示模式,可以接受一个整数参数,代表要改变的模式值。

4. textattr():用于同时改变文字的颜色、背景颜色和显示模式,可以接受一个整数参数,代表要改变的属性值。

使用这些函数可以非常方便地改变控制台输出文字的颜色和样式,从而让程序输出更加生动、形象。

同时,在进行调试或输出一些特殊信息时,也可以利用这些函数让输出内容更加突出,方便快速定位问题或者提醒用户注意。

- 1 -。

C语言:改变控制台下字体的颜色

c语言改变字体颜色VC中要调用windows API来改变字体颜色。

下面举个例子:#include <stdio.h>#include <windows.h>//下面宏定义亮白色#define WHITE FOREGROUND_BLUE|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_INTENSITYint main(void){printf("Hello\n");SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN);printf("Hello\n");SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_BLUE|FOREGROUND_GREEN|FOR EGROUND_RED);printf("Hello\n");getchar();return 0;}其中FOREGROUND颜色只有四种:GREEN,BLUE,RED,INTENSIFY(加强)。

也许有人要问,如果要有其他颜色该怎么办?这很简单,所有颜色都是基于红绿蓝三原色来调和而成的。

举两个例子:红色+绿色=黄色绿色+蓝色=青色红色+蓝色=品红红色+绿色+蓝色=白色黄色、青色、品红都是由两种及色相混合而成,所以它们又称相加二次色。

另外:红色+青色=白色绿色+品红=白色蓝色+黄色=白色。

c语言color函数用法

c语言color函数用法(实用版)目录1.概述2.color 函数的基本语法3.color 函数的参数4.color 函数的返回值5.color 函数的用法示例正文1.概述在 C 语言编程中,color 函数是一个用于设置文本颜色的函数,它可以让程序员在输出文本时更改字体颜色,从而提高程序的可读性和视觉效果。

color 函数通常用于控制台输出,使其更加丰富多彩。

2.color 函数的基本语法color 函数的基本语法如下:```#include <stdio.h>int color(int fg, int bg);```其中,`fg`表示前景色,即文本颜色;`bg`表示背景色,即输出文本时的背景颜色。

3.color 函数的参数color 函数的参数有两个,都是整数类型。

它们分别表示前景色和背景色。

- 前景色(fg):前景色用于表示输出文本的颜色,其取值范围为 0~15,其中 0 表示黑色,1 表示红色,2 表示绿色,依此类推,15 表示白色。

- 背景色(bg):背景色用于表示输出文本时的背景颜色,其取值范围也为 0~15,其中 0 表示黑色,1 表示红色,2 表示绿色,依此类推,15 表示白色。

4.color 函数的返回值color 函数执行成功后,返回一个整数值,表示新的颜色对。

如果执行失败,返回 -1,并设置全局变量 errno。

5.color 函数的用法示例下面是一个简单的 color 函数用法示例:```c#include <stdio.h>int main() {int fg, bg;fg = 1; // 设置前景色为红色bg = 7; // 设置背景色为蓝色int result = color(fg, bg);if (result == -1) {printf("color 函数执行失败");} else {printf("成功设置文本颜色为%d,背景颜色为%d", fg, bg);}return 0;}```在这个示例中,我们首先引入了<stdio.h>头文件,然后定义了两个整数变量 fg 和 bg,分别表示前景色和背景色。

python输出带颜色字体详解

python输出带颜⾊字体详解 在python开发的过程中,经常会遇到需要打印各种信息。

海量的信息堆砌在控制台中,就会导致信息都混在⼀起,降低了重要信息的可读性。

这时候,如果能给重要的信息加上字体颜⾊,那么就会更加⽅便⽤户阅读了。

当然了,控制台的展⽰效果有限,并不能像前段⼀样炫酷,只能做⼀些简单的设置。

不过站在可读性的⾓度来看,已经好很多了。

书写格式:开头部分:\033[显⽰⽅式;前景⾊;背景⾊m + 结尾部分:\033[0m注意:开头部分的三个参数:显⽰⽅式,前景⾊,背景⾊是可选参数,可以只写其中的某⼀个;另外由于表⽰三个参数不同含义的数值都是唯⼀的没有重复的,所以三个参数的书写先后顺序没有固定要求,系统都能识别;但是,建议按照默认的格式规范书写。

对于结尾部分,其实也可以省略,但是为了书写规范,建议\033[***开头,\033[0m结尾。

--------------------------------------------------------------------------------------字体⾊ | 背景⾊ | 颜⾊描述-------------------------------------------30 | 40 | ⿊⾊31 | 41 | 红⾊32 | 42 | 绿⾊33 | 43 | ⿈⾊34 | 44 | 蓝⾊35 | 45 | 紫红⾊36 | 46 | 青蓝⾊37 | 47 | ⽩⾊--------------------------------------------------------------------------显⽰⽅式 | 效果-------------------------------0 | 终端默认设置1 | ⾼亮显⽰4 | 使⽤下划线5 | 闪烁7 | 反⽩显⽰8 | 不可见-------------------------------数值表⽰的参数含义:显⽰⽅式: 0(默认值)、1(⾼亮)、22(⾮粗体)、4(下划线)、24(⾮下划线)、 5(闪烁)、25(⾮闪烁)、7(反显)、27(⾮反显)前景⾊: 30(⿊⾊)、31(红⾊)、32(绿⾊)、 33(黄⾊)、34(蓝⾊)、35(洋红)、36(青⾊)、37(⽩⾊)背景⾊: 40(⿊⾊)、41(红⾊)、42(绿⾊)、 43(黄⾊)、44(蓝⾊)、45(洋红)、46(青⾊)、47(⽩⾊)常见开头格式:\033[0m 默认字体正常显⽰,不⾼亮\033[32;0m 红⾊字体正常显⽰\033[1;32;40m 显⽰⽅式: ⾼亮字体前景⾊:绿⾊背景⾊:⿊⾊\033[0;31;46m 显⽰⽅式: 正常字体前景⾊:红⾊背景⾊:青⾊\033[1;31m 显⽰⽅式: ⾼亮字体前景⾊:红⾊背景⾊:⽆举例说明:⽰例1:print('\033[1;35;0m字体变⾊,但⽆背景⾊ \033[0m') # 有⾼亮或者 print('\033[1;35m字体有⾊,但⽆背景⾊ \033[0m')print('\033[1;45m 字体不变⾊,有背景⾊ \033[0m') # 有⾼亮print('\033[1;35;46m 字体有⾊,且有背景⾊ \033[0m') # 有⾼亮print('\033[0;35;46m 字体有⾊,且有背景⾊ \033[0m') # ⽆⾼亮结果:⽰例2:print('\033[0;36m床前明⽉光,')print('疑是地上霜。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言编程中在控制平台输出带颜色字体的方案方案一有时候为了实现在终端输出的时候字体能够带颜色,并且可以产生简单的闪烁的功能,特写了下列的代码实现hello world的带颜色的输出,并且每过一秒产生一个闪烁的功能.(注:具体还得判断终端类型)CODE:#include<stdio.h>#include<unistd.h>#include<signal.h>#include<stdlib.h>int flag = 0;void sig_int(int signum){if (flag == 1)fprintf(stderr, "\033[47;31mhello world\033[5m");fprintf(stderr,"\033[;\033[0m");fprintf(stderr,"\033[;\033[0m");printf("\n");exit(0);}int main(){int i = 0;struct sigaction sig_act;sig_act.sa_handler = sig_int;sigemptyset(&sig_act.sa_mask);sig_act.sa_flags = 0;if (sigaction(SIGINT, &sig_act, NULL) < 0){fprintf(stderr, "signal error\n");exit(1);}while (i++ < 10){fprintf(stderr, "\033[;\033[s");fprintf(stderr, "\033[47;31mhello world\033[5m");flag = 0;sleep(1);fprintf(stderr, "\033[;\033[u");fprintf(stderr, "\033[;\033[K");flag = 1;sleep(1);}fprintf(stderr, "\033[47;31mhello world\033[5m");fprintf(stderr,"\033[;\033[0m");printf("\n");return 0;}该程序实现输出十次hello world然后退出. 使用一个信号是为了还原默认的终端输出的颜色. 另外再讲讲如何输出颜色以及颜色的代码.格式:CODE:printf("\033[字背景颜色;字体颜色m字符串\033[0m" );printf("\033[47;31mhello world\033[5m");47是字背景颜色, 31是字体的颜色, hello world是字符串. 后面的\033[5m是控制码.颜色代码:QUOTE:字背景颜色范围: 40--49 字颜色: 30—3940: 黑 30: 黑41: 红 31: 红42: 绿 32: 绿43: 黄 33: 黄44: 蓝 34: 蓝45: 紫 35: 紫46: 深绿 36: 深绿47: 白色 37: 白色ANSI控制码:QUOTE:\033[0m 关闭所有属性\033[1m 设置高亮度\03[4m 下划线\033[5m 闪烁\033[7m 反显\033[8m 消隐\033[30m -- \033[37m 设置前景色\033[40m -- \033[47m 设置背景色\033[nA 光标上移n行\03[nB 光标下移n行\033[nC 光标右移n行\033[nD 光标左移n行\033[y;xH设置光标位置\033[2J 清屏\033[K 清除从光标到行尾的内容\033[s 保存光标位置\033[u 恢复光标位置\033[?25l 隐藏光标\33[?25h 显示光标这样, 在某些时候就可以实现动态的输出.方案二Turbo C2.0的字符屏幕函数主要包括文本窗口大小的设定、窗口颜色的设置、窗口文本的清除和输入输出等函数。

1.文本窗口的定义Turbo C2.0默认定义的文本窗口为整个屏幕, 共有80列(或40列)25行的文本单元, 每个单元包括一个字符和一个属性, 字符即ASCII 码字符, 属性规定该字符的颜色和强度。

Turbo C2.0可以定义屏幕上的一个矩形域作为窗口, 使用window()函数定义。

窗口定义之后, 用有关窗口的输入输出函数就可以只在此窗口内进行操作而不超出窗口的边界。

window()函数的调用格式为:void window(int left, int top, int right, int bottom);该函数的原型在conio.h 中(关于文本窗口的所有函数其头文件均为conio.h,后面不再说明)。

函数中形式参数(int left, int top)是窗口左上角的坐标,(int right, int bottom)是窗口的右下角坐标, 其中(left, top)和(right,bottom) 是相对于整个屏幕而言的。

Turbo C 2.0规定整个屏幕的左上角坐标为(1, 1), 右下角坐标为(80, 25)。

并规定沿水平方向为X轴, 方向朝右; 沿垂直方向为Y轴, 方向朝下。

若window()函数中的坐标超过了屏幕坐标的界限, 则窗口的定义就失去了意义, 也就是说定义将不起作用, 但程序编译链接时并不出错。

另外, 一个屏幕可以定义多个窗口, 但现行窗口只能有一个(因为DOS为单任务操作系统), 当需要用另一窗口时, 可将定义该窗口的window() 函数再调用一次, 此时该窗口便成为现行窗口了。

如要定义一个窗口左上角在屏幕(20, 5)处, 大小为30列15行的窗口可写成: window(20, 5, 50, 25);2. 文本窗口颜色的设置文本窗口颜色的设置包括背景颜色的设置和字符颜色的设置, 使用的函数及其调用格式为:设置背景颜色: void textbackground(int color);设置字符颜色: void textcolor(int color);有关颜色的定义见表1。

表1. 有关颜色的定义━━━━━━━━━━━━━━━━━━━━━━━━━━━符号常数数值含义字符或背景───────────────────────────BLACK 0 黑两者均可BLUE 1 兰两者均可GREEN 2 绿两者均可CYAN 3 青两者均可RED 4 红两者均可MAGENTA 5 洋红两者均可BROWN 6 棕两者均可LIGHTGRAY 7 淡灰两者均可DARKGRAY 8 深灰只用于字符LIGHTBLUE 9 淡兰只用于字符LIGHTGREEN 10 淡绿只用于字符LIGHTCYAN 11 淡青只用于字符LIGHTRED 12 淡红只用于字符LIGHTMAGENTA 13 淡洋红只用于字符YELLOW 14 黄只用于字符WHITE 15 白只用于字符BLINK 128 闪烁只用于字符━━━━━━━━━━━━━━━━━━━━━━━━━━━上表中的符号常数与相应的数值等价, 二者可以互换。

例如设定兰色背景可以使用textbackground(1), 也可以使用textbackground(BLUE), 两者没有任何区别, 只不过后者比较容易记忆, 一看就知道是兰色。

Turbo C另外还提供了一个函数, 可以同时设置文本的字符和背景颜色, 这个函数的调用格式为:void textattr(int attr);其中: attr的值表示颜色形式编码的信息, 每一位代表的含义如下:位7 6 5 4 3 2 1 0B b b b c c c c↓ ┕━━━┙┖─────┘闪烁背景颜色字符颜色字节低四位cccc设置字符颜色(0到15), 4~6三位bbb设置背景颜色(0到7), 第7位B设置字符是否闪烁。

假如要设置一个兰底黄字, 定义方法如下: textattr(YELLOW+(BLUE<<4));若再要求字符闪烁, 则定义变为:textattr(128+YELLOW+(BLUE<<4);注意:(1) 对于背景只有0 到7 共八种颜色, 若取大于7 小于15的数, 则代表的颜色与减7后的值对应的颜色相同。

(2) 用textbackground()和textcolor() 函数设置了窗口的背景与字符颜色后, 在没有用clrscr()函数清除窗口之前, 颜色不会改变, 直到使用了函数clrscr(), 整个窗口和随后输出到窗口中的文本字符才会变成新颜色。

(3) 用textattr()函数时背景颜色应左移4位, 才能使3位背景颜色移到正确位置。

下面这个程序使用了关于窗口大小的定义、颜色的设置等函数, 在一个屏幕上不同位置定义了7个窗口, 其背景色分别使用了7种不同的颜色。

例1.:#include <stdio.h>#include <conio.h>main(){int i;textbackground(0); /* 设置屏幕背景色*/clrscr(); /* 清除文本屏幕*/for(i=1; i<8; i++){window(10+i*5, 5+i, 30+i*5, 15+i); /* 定义文本窗口*/textbackground(i); /* 定义窗口背景色*/clrscr(); /* 清除窗口*/}getch();}3. 窗口内文本的输入输出函数一、窗口内文本的输出函数int cprintf("<格式化字符串>", <变量表>);int cputs(char *string);int putch(int ch);cprintf()函数输出一个格式化的字符串或数值到窗口中。

它与printf() 函数的用法完全一样, 区别在于cprintf()函数的输出受窗口限制, 而printf() 函数的输出为整个屏幕。

cputs()函数输出一个字符串到屏幕上, 它与puts()函数用法完全一样, 只是受窗口大小的限制。

putch()函数输出一个字符到窗口内。

注意:(1) 使用以上几种函数, 当输出超出窗口的右边界时会自动转到下一行的开始处继续输出。

当窗口内填满内容仍没有结束输出时, 窗口屏幕将会自动逐行上卷直到输出结束为止。

二、窗口内文本的输入函数int getche(void);该函数在前面已经讲过, 需要说明的是, getche()函数从键盘上获得一个字符, 在屏幕上显示的时候, 如果字符超过了窗口右边界, 则会被自动转移到下一行的开始位置。

相关文档
最新文档