c++控制输出的字体颜色
SetConsoleTextAttribute(参数表)。
SetConsoleTextAttribute()函数是一个API设置字体颜色和背景色的函数。参数表中使用两个属性(属性之间用,隔开)。GetStdHandle()和FOREGROUND_*或BACKGROUND_*。*值为INTENSITY或RED或GREEN或BLUE。第一个属性获得句柄(即要设置颜色的地方),第二个属性设置颜色。属性相加是在属性值中间加“|”隔开即可。
GetStdHandle(STD_OUTPUT_HANDLE)获得句柄。
FOREGROUND_INTENSITY 表示设置前景色为高亮显示。
FOREGROUND_RED 表示设置前景色为红色,即字体颜色为红色。
FOREGROUND_GREEN 表示设置前景色为绿色,即字体颜色为绿色。
FOREGROUND_BLUE 表示设置前景色为蓝色,即字体颜色为蓝色。
BACKGROUND_INTENSITY 表示设置背景色为高亮显示。
BACKGROUND_RED 表示设置背景色为红色。
BACKGROUND_GREEN 表示设置背景色为绿色。
BACKGROUND_BLUE 表示设置背景色为蓝色。
…… …… …… …… …… ……
说明:在使用时要在预处理中包含window.h头文件
举例如下:
#include <iostream>
#include "windows.h"
using namespace std; int main()
{
cout << "原色testCOLOR(没有设置字体颜色)" << endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY |FOREGROUND_RED |FOREGROUND_GREEN | FOREGROUND_BLUE);//设置三色相加
cout << "白色testCOLOR(红色绿色蓝色相加)" << endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED);//设置红色
cout << "红色testCOLOR(设置的颜色为红色)" << endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_GREEN);//设置绿色
cout << "绿色testCOLOR(设置的颜色为绿色)" << endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE);//设置蓝色
cout << "蓝色testCOLOR(设置的颜色为蓝色)" << endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED |FOREGROUND_GREEN);//设置红色和绿色相加
cout << "黄色testCOLOR(红色和绿色相加色)" << endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED |FOREGROUND_BLUE);//设置红色和蓝色相加
cout << "粉色testCOLOR(红色和蓝色相加色)" << endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_GREEN |FOREGROUND_BLUE);//设置绿色和蓝色相加
cout << "青色testCOLOR(绿色和蓝色相加色)" << endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY);//设置颜色,没有添加颜色,故为原色
cout << endl; system("pause");
return ;
}
其中遵循颜色相加的法则。
前景色和背景色的区别:前景色是字体的颜色。背景色是字体后面的颜色(相当于做笔记高亮那一句的感觉)
经过测试,在改变颜色后无法再改回到初始状态下。尽管不设置颜色,依然和最初情况不同,我猜测是cmd窗口默认的颜色不只是这三种颜色混合成的。不设置颜色时比最初的白色字体要暗,设置为三色叠加时比最初的白色字体要亮(就是一个是灰白,一个是亮白,默认的初始状况在两者之间)
c++控制输出的字体颜色的更多相关文章
- 设置c++中cout输出的字体颜色
在c++中控制台的默认字体颜色是白色,但是有时我们需要其他颜色,比如用红色提示错误,使用绿色提示计算完成,使用黄色表示警示等等,那么如何设置控制台文字的颜色呢? 一种方法是通过右键控制台进行颜色设置, ...
- echo -e的扩展应用之颜色控制输出(字体+背景)
echo -e 输出带颜色字体或者背景用法:example: echo -e "\033[41;36m something here \033[0m" 其中41的位置代表底色, 3 ...
- C# 控制台程序设置字体颜色
这几天做了个程序,程序本身很简单.大体功能是输入查询条件,从数据库里取出结果计算并显示.但是用户的要求是使用控制台(console)来实现功能.由于功能简单,程序很快就做完了,在面向用户演示程序时,突 ...
- linux终端c语言改变输出字体颜色
Linux下C改变输出字体颜色 例: #include int main() { printf("\033[31mThis is RED.\n\033[0m"); return 0 ...
- Python 终端输出字体颜色
终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关. 转义序列是以ESC开头,即用\033来完成(ESC的ASCII码用十进制表示是27,用八进制表 ...
- 在C#中控制ListBox某一行的字体颜色
例1 private void Form1_Load(object sender, EventArgs e) { listBox1.Items.Add("红色"); listBox ...
- 关于<ul> 下的 <li> 里面的<a> 标签字体颜色不能控制
1.元展示 <ul class="ul"> <li><a href="#">菜单一</a></li> ...
- linux下 C编程改变输出字体颜色
格式: echo "\033[字背景颜色;字体颜色m字符串\033[0m"例如:echo "\033[41;36m something here \033[0m" ...
- python输出彩色字体
Python终端如何输出彩色字体 实现过程: 终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关. 转义序列是以ESC开头,即用\033来完成(ES ...
随机推荐
- 【tensorflow-v2.0】如何查看模型的输入输出流的属性
操作过程: 1. 查看mobilenet的variables loaded = tf.saved_model.load('mobilenet') print('MobileNet has {} tra ...
- solr添加中文IK分词器,以及配置自定义词库
Solr是一个基于Lucene的Java搜索引擎服务器.Solr 提供了层面搜索.命中醒目显示并且支持多种输出格式(包括 XML/XSLT 和 JSON 格式).它易于安装和配置,而且附带了一个基于H ...
- 拥抱TF2.0的时代来了
AI = 算法 + 实现 忘掉 tf 1.0吧!!! TPU tf 加速硬件 学习建议 忘记1.0 Tensorflow 和Pytorch 选择一个主修 Keras 逐渐淡出 TF.kreas Pyt ...
- prototype和__proto__的关系是什么?
我们创建的每个函数都有一个prototype(原型)属性,这个属性是一个对象,它的用途是包含可以由特定类型的所有实例共享的属性和方法.(这个对象下面有个属性,这个属性是另外一个对象的应用 ,这个属性就 ...
- jquery如何生成图片验证码
jQuery(function($){ /**生成一个随机数**/ function randomNum(min, max) { return Math.floor(Math.random() * ( ...
- HBase 详解
1.HBase 架构 ============================================ 2. HBase Shell 操作 2.1. 基本操作 进入HBase客户端命令行:bi ...
- [Linux] - Manjaro ARM 系统配置(更新镜像源,安装 Docker 和 Dotnet Core)
硬件:Raspberry Pi 4B系统:Manjaro-ARM-xfce-rpi4-19.08网址:https://manjaro.org/ Issue系统启动后,中文字符显示为小方格乱码 解决:安 ...
- [BZOJ4382][POI2015]Podział naszyjnika (神奇HASH)
[问题描述] 长度为n 的一串项链,每颗珠子是K 种颜色之一.第i 颗与第i-1,i+1 颗珠子相邻,第n 颗与第1 颗也相邻. 切两刀,把项链断成两条链.要求每种颜色的珠子只能出现在其中 ...
- golang 之 sql
golang提供了sql包查询数据 建立连接 导入第三方包 import( "database/sql" _"github.com/go-sql-driver/mysql ...
- 【简解】C2CRNI - Crni
[题目大意] 给定一个N行N列的矩阵,每个格子要么为白色要么为黑色.黑矩形为所涵单元格数大于等于2且所涵单元格均为黑色的矩表.要解决的问题是在给定的矩形中找出两个没有共公部分的黑矩形,输出所有方案数, ...