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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言实现字体输出不同颜色的函数是啥?相关的知识,希望对你有一定的参考价值。

如图,贴代码说我格式错误。

不知道函数意思可以查msdn

参考技术A VC中要调用windows API来改变字体颜色。
下面举个例子:

#include <stdio.h>
#include <windows.h>

int main(void)

printf("Hello\n");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN);
printf("Hello\n");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_BLUE|FOREGROUND_GREEN|FOREGROUND_RED);
printf("Hello\n");

getchar();
return 0;


其中FOREGROUND颜色只有四种:GREEN,BLUE,RED,INTENSIFY(加强)。
也许有人要问,如果要有其他颜色该怎么办?
这很简单,所有颜色都是基于红绿蓝三原色来调和而成的。
举两个例子:

红色+绿色=黄色
绿色+蓝色=青色
红色+蓝色=品红
红色+绿色+蓝色=白色

--------引用自 某人的博客
参考技术B #include<stdio.h>
#include<windows.h>

void SetColor(unsigned short ForeColor,unsigned short BackGroundColor)
HANDLE hCon=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hCon,(ForeColor%16)|(BackGroundColor%16*16));

int main()

int i,j;
while(scanf("%d%d",&i,&j))

SetColor(i,j);
printf("输出不同颜色文字测试\\n");
SetColor(7,0);///恢复为黑底白字。。

return 0;

这段代码可以实现对输出文字颜色的控制

参考技术C C语言没有这样的函数,只能自己写,用C++的话会好写一点,如果有兴趣自己研究研究MFC,里面有改变字体颜色的相关函数 参考技术D 标准C语言没有这样的函数,只能自己写,用C++的话会好写一点,如果有兴趣自己研究研究MFC,里面有改变字体颜色的相关函数。

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语言中windows 调用api实现字体颜色,字体,以及动画

C 语言输出不同颜色字体

C语言编程中的字体颜色是啥意思

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

c语言字怎样颜色变化

C语言中为何有的函数是蓝色的而有的却没有颜色比如 do……while蓝色getchar不是蓝色字体?