C语言问题:如何使输出的一段东西是不同颜色的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言问题:如何使输出的一段东西是不同颜色的相关的知识,希望对你有一定的参考价值。

比如说,我输出了一段**********,要求前5个*是红色的,后五个*是绿色的,如何做到?

#include<windows.h> //GetStdHandle和SetConsoleTextAttribute在头文件windows.h中
#include<stdio.h>
void SetColor(unsigned short ForeColor=4,unsigned short BackGroundColor=0) //给参数默认值,使它 //可以接受0/1/2个参数

HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE); //本例以输出为例
SetConsoleTextAttribute(hCon,ForeColor|BackGroundColor);

int main()

SetColor(4,0);printf("*****");
SetColor(2,0);printf("*****\\n");
SetColor(7,0);
参考技术A 用system()也简单,
#include<windows.h>
每次改变颜色前用一句,0a一个是背景色,一个是前景色,具体颜色值请百度system();
systme(" color 0a");
printf("***");
systme(" color 0e");
printf("***");
参考技术B 路过的 有具体的东西吗?

C 语言输出不同颜色字体

C 语言输出不同颜色字体

33是8进制,它就是unix下终端转义符ESC(16进制1A,10进制27)
ESC[xm 是unix下改变终端输出颜色的命令

所以,如果是红色,则我们定义为33[0;32;31m

以下为测试程序www.cdxsxbx.com

#include <stdio.h>
#define NONE "33[m"
#define RED "33[0;32;31m"
#define LIGHT_RED "33[1;31m"
#define GREEN "33[0;32;32m"
#define LIGHT_GREEN "33[1;32m"
#define BLUE "33[0;32;34m"
#define LIGHT_BLUE "33[1;34m"
#define DARY_GRAY "33[1;30m"
#define CYAN "33[0;36m"
#define LIGHT_CYAN "33[1;36m"
#define PURPLE "33[0;35m"
#define LIGHT_PURPLE "33[1;35m"
#define BROWN "33[0;33m"
#define YELLOW "33[1;33m"
#define LIGHT_GRAY "33[0;37m"
#define WHITE "33[1;37m"

int main()
{

printf(RED "test1 "NONE);
printf(LIGHT_RED "test1 "NONE);
printf(GREEN "test1 "NONE);
printf(LIGHT_GREEN "test1 "NONE);
printf(BLUE "test1 "NONE);
printf(LIGHT_BLUE "test1 "NONE);
printf(DARY_GRAY "test1 "NONE);
printf(CYAN "test1 "NONE);
printf(LIGHT_CYAN "test1 "NONE);
printf(PURPLE "test1 "NONE);
printf(LIGHT_PURPLE"test1 "NONE);
printf(BROWN "test1 "NONE);
printf(YELLOW "test1 "NONE);
printf(LIGHT_GRAY "test1 "NONE);
printf(WHITE "test1 "NONE);
return 0;
}

以上是关于C语言问题:如何使输出的一段东西是不同颜色的的主要内容,如果未能解决你的问题,请参考以下文章

C语言输出字体的颜色怎么改变

C 语言输出不同颜色字体

C语言,怎么使打出的代码是彩色的

C语言实现字体输出不同颜色的函数是啥?

c中如何使输出的值小数点后最末位0舍去?

C# 如何改变控制台输出字体颜色