在C++中输出彩色字符——给字符变个色!

C++输出彩色字体(16色版) 0 => 黑色 1 => 蓝色 2 => 绿色 3 => 浅绿色 4 => 红色 5 => 紫色 6 =>黄色。7 => 白色 8 => 灰色 9 => 淡蓝色 10 => 淡绿色 11 => 淡浅绿色 12 => 淡红色。13 => 淡紫色 14 => 淡黄色 15 => 亮白色。此处的" i "是需要的颜色。 阅读详情

在C++中,可以通过控制台输出彩在C++中输出彩色字符色文本来增强程序的可读性和用户体验。实现这一功能的关键在于使用Windows API中的SetConsoleTextAttribute()函数来设置控制台文本的颜色。

示例代码

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

// 定义颜色打印函数
void COLOR_PRINT(const char* s, int color) {
HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(handle, FOREGROUND_INTENSITY | color);
printf("%s", s);
SetConsoleTextAttribute(handle, FOREGROUND_INTENSITY | 7); // 恢复默认颜色
}

int main() {
// 输出红色文字
COLOR_PRINT("这是红色文字\n", 4);
// 输出绿色文字
COLOR_PRINT("这是绿色文字\n", 2);
// 输出蓝色文字
COLOR_PRINT("这是蓝色文字\n", 1);
return 0;
}

在这个示例中,我们定义了一个名为COLOR_PRINT的函数,该函数接受两个参数:要输出的字符串和颜色代码。通过调用SetConsoleTextAttribute()函数,我们可以设置控制台文本的颜色。

颜色代码

在Windows控制台中,颜色代码的范围是0到15,每个数字代表一种颜色。以下是一些常用的颜色代码:

  • 0 = 黑色

  • 1 = 蓝色

  • 2 = 绿色

  • 3 = 浅绿色

  • 4 = 红色

  • 5 = 紫色

  • 6 = 黄色

  • 7 = 白色

  • 8 = 灰色

  • 9 = 淡蓝色

  • 10 = 淡绿色

  • 11 = 淡浅绿色

  • 12 = 淡红色

  • 13 = 淡紫色

  • 14 = 淡黄色

  • 15 = 亮白色

背景颜色

如果需要同时设置前景色和背景色,可以将背景色代码乘以16,然后与前景色代码进行逻辑或操作。例如:

void COLOR_PRINT2(const char* s, int front_color, int back_color) {
HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(handle, BACKGROUND_INTENSITY | back_color * 16 | FOREGROUND_INTENSITY | front_color);
printf("%s", s);
SetConsoleTextAttribute(handle, FOREGROUND_INTENSITY | 7); // 恢复默认颜色
}


C++ 设置字体颜色 C++ 设置字体颜色 很多C++的初学者发现,控制台的颜色永远是黑白的,怎么才能使字体像那些软件一样呈彩色呢?现在,我们就将学习C++ 设置字体颜色的方法。 方法一:system(“color”) system函数想必大家都听说过,它可以用来设置字体的颜色,只需要在color后加上字体的背景色和前景色,取值如下: 符号 表示颜色 符号 表示颜色 0 黑色 8 灰色 1 蓝色 9 淡蓝色 2 绿色 A 淡绿色 3 浅绿色 B 淡浅绿色 4 红色 C 淡红色 5 紫色 D 淡 阅读详情

相关推荐

C/C++ 控制台输出彩色文本(改变局部字体的颜色)

我写了一个输出彩色文本的函数: void COLOR_PRINT(const char* s, int color) { HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(handle, FOREGROUND_INTENSITY | color); printf(s); SetConsoleTe...

qq_42885747的博客 1万+

关于C++语言如何改变字体输出颜色

特此声明,这个函数的这个功能只有Win10及以上版本的电脑才可用(我在学校一台Win7的电脑试过,输出了空白)如果你还是不满足于。

Sat77GryHp_Pro的博客 1万+

控制台输出彩色基础信息

控制台彩色输出基础信息,涉及宏定义的字符串拼接、时间戳转字符串、控制台颜色代码的使用。

Guoiaoang 的记事本 1221

C++如何输出彩色字体

很多人在生活中总是遇到C++输出彩色字体的问题,可很多编译器都是基于Linux的,没有包含 `windows.h` ,这就令大家很苦恼。本期我就带大家用最质朴的Linux输出方法,就用 `cout` ,什么也不用添加,只需要在前面加上一个限定颜色。.........

YoungGeeker 6799

Dev-C++ 控制台输出不同颜色的符号/文字

接触Dev-C++后,小编一直在找输出各种彩色字的方法,后来发现了一些不同方法。

m0_66373508的博客 6842

告别黑白命令行:在Windows Terminal和VS Code里玩转C++彩色输出(附256色对照表)

本文详细介绍了如何在Windows Terminal和VS Code中为C++程序实现彩色输出,利用ANSI转义码和256色调色板提升命令行界面的视觉效果。从基础原理到实战技巧,涵盖环境配置、色彩管理、跨平台兼容性等关键内容,并附赠可直接使用的代码模板和完整的256色对照表,帮助开发者打造更高效、更美观的命令行工具。

weixin_29006187的博客 259

c++字符串彩色输出

c++字符串彩色输出文件地址调用方法调用格式结尾一言 以前做过一个简易的文字颜色更改函数 这个是升级版 去博客看:xihale.top/?id=37 文件地址 xihale.h 其实里面还有很多很有用的函数,以后再介绍 调用方法 #include"xihale.h" //把头文件和main文件放在同一目录! 调用格式 低级版 color(int);//重定向颜色 //...输出字符串 color(7);//回到白色 高级版 rbprint(char*,含中文?2:1);//彩色效果 rbpri

xihale 1527

C++笔记之cout高亮输出以及纯C++实现一个彩色时钟

【代码】C\++笔记之cout高亮输出以及纯C\++实现一个彩色时钟。

小勇博客 1110

C++完善界面的几个函数,隐藏、显示光标,输出彩色字符

1.光标的隐藏与显示 2.输出彩色字符 3.播放声音文件 1.光标的隐藏与显示 #include #include &amp;amp;lt;windows.h&amp;amp;gt; #include &amp;amp;lt;conio.h&amp;amp;gt; using namespace std; void gotoxy(int x,int y) { HANDLE h; COORD c; c.X=x; c.Y=y; h=GetStdHan

qq_43312665的博客 4648

C++自定义MyCString类实现彩色字符串输出扩展

在继承体系中,需清晰界定哪些函数应被覆盖,哪些应保留原始行为。例如,operator=和assign()方法可能影响内部状态同步,但不应修改其签名或语义:// 先更新字符串内容// 不重置颜色状态此处关键在于:赋值操作仅更新文本内容,原有颜色和样式应保持不变,符合用户直觉。类似地,clear()应清空字符数据而不影响格式设置。新增方法则集中于颜色与样式控制,命名遵循统一前缀规则(如set_color),避免与STL冲突:这些方法均返回*this。

weixin_35094083的博客 1218

基于STM32的工业设备状态监测系统

工业设备的预测性维护需求日益增长,本文设计了一款基于STM32的智能监测终端,可实时采集设备振动、温度、电流等关键参数,通过边缘计算分析设备健康状态,实现故障预警与能效优化。系统支持4G/LoRa远程通信,适用于工厂、发电站等工业场景。本系统实现了工业设备关键参数的实时监测,故障识别准确率达到92%。:STM32F429(带FPU,支持浮点运算)多参数联合判据(振动+温度+电流突变检测)ACS712电流检测模块(0-30A)FFT频谱分析(识别轴承故障特征频率)故障代码生成(支持16种预设故障类型)

stm32d1219的博客 1325

c语言 cmd 字体颜色,c++语言在cmd下输出彩色字符

c++语言在cmd下输出彩色字符对于c语言来说可以用system和sprintf在cmd下输出彩色字符,但是对于c++语言来说却没有好的解决办法。现在可以用下面的ConsoleColor.h解决这个问题#pragma once#include #include inline std::ostream& blue(std::ostream &s){HANDLE hStdout = G...

weixin_42300317的博客 1006

UE4虚拟现实实习总结---蓝图中的常用交互事件|人物行走|物体移动|动态触发|材质改变

这周是ue4实习周,老师给我们的任务就是基于中学物理和化学实验的虚拟实验室,要有交互事件,后期可以链接vr手柄进行操作。 但是实习开始老师影都没了,全靠自己学习。感觉自己学习了不少东西,这里就来总结一下!顺便感叹一下,ue4好玩又强大! 以下主要介绍蓝图中的几种交互事件1.新建游戏角色并且进行角色行走旋转,2.如何控制物体移动旋转,3.如何控制物体材质动态变化 大家可以举一反三,作出更好的作品 1.新建游戏角色并且进行角色行走旋转 步骤 在刚刚新建的文件夹中鼠标右击新建蓝图类,然后分别创建以下:chara

weixin_43902063的博客 6122

Linux C/C++ 如何输出彩色字体

先举个例子: #include <iostream> int main() { std::cout<<"\033[33mHello \033[34mworld!\033[0m"<<std::endl; return 0; } 执行以上代码,你将会看到红色的Hello和蓝色的world! 观察上述代码,你会发现我用了三个\033[*m 这就是Linu...

2105

Polyworks脚本开发学习笔记(十五)-用Python连接Polyworks的COM组件

Polyworks脚本开发学习笔记(十五)-利用Python连接Polyworks的COM组件

qq_43662503的博客 2503

Win11大版本更新失败:系统保留分区空间不足的终极解决方案

本文针对Windows 11大版本更新时遇到的“系统保留分区空间不足”错误,提供了详细的诊断与解决方案。核心问题在于EFI系统分区(ESP)空间过小,导致更新失败。文章重点介绍了使用傲梅分区助手等第三方工具安全扩展EFI分区的完整步骤,并提供了手动清理、使用安装介质修复等替代方案,帮助用户彻底解决更新障碍,顺利完成Win11升级。

weixin_29280219的博客 953

Qt输出彩色log信息

简介 我们在Qt Creator中开发程序的时候,经常要做的一件事情,就是看程序的输出Log。 一般的log信息都是黑白的,比如这样的: 涛哥在这里告诉大家一个隐藏的技能,那就是输出彩色的log: 从此看到的log,不再是黑白的,而是五颜六色的,生活更加绚丽多彩。 原理 要输出彩色信息有点类似于html的语法,即在要输出的文字前加上转义字符。 指令格式如下\033[m 这里的就是转义字符,例如...

武威的涛哥-博客 1426

从医疗成像到工业检测:CMOS图像传感器NIR技术的最新应用案例解析

本文深入解析了CMOS图像传感器NIR技术在医疗成像和工业检测中的最新应用案例。通过提升量子效率至70%,NIR技术实现了血管可视化、材料缺陷检测等突破性进展,显著提高了医疗诊断精度和工业质检效率。文章还探讨了系统集成关键考量和前沿发展趋势。

weixin_30879169的博客 90

C++控制台256色进阶:打造动态彩色日志与进度条

本文详细介绍了如何在C++控制台中实现256色输出,打造动态彩色日志与进度条。通过解析ANSI转义码的工作原理,提供实用的代码示例和优化技巧,帮助开发者提升控制台应用的视觉效果和用户体验。文章还涵盖了跨平台适配和性能调优等关键问题。

weixin_29000991的博客 113

GD32官方资料学习体系(主要包括MCU选型、原理图PCB设计、软件开发入门及用户手册等)

大部分还未更新,先占个坑,日后更新…… 目前国外芯片涨价涨的离谱(就是在说ST),国内最好的替代就是兆易创新出的系列芯片了。但是官方资料繁杂,小白上手不易,因此边入门边记录,也给后来者根据官方资料可以有一个较为完整的学习体系。

Eddie的博客 1万+

二十一、CANdelaStudio深入-SPRMIB的配置

本专栏将由浅入深的展开诊断实际开发与测试的数据库编辑,包含大量实际开发过程中的步骤、使用技巧与少量对Autosar标准的解读。希望能对大家有所帮助,与大家共同成长,早日成为一名车载诊断、通信全栈工程师。 本文介绍CANdelaStudio的肯定响应抑制位配置,欢迎各位朋友订阅、评论,可以提出宝贵意见,以持续输出更好的作品,同时会根据评论、私信不定期更新文章内容,以及专栏目录。订阅该专栏的朋友可私信小编免费答疑解惑(^U^)ノ~YO CANdelaStudio-从入门到深入目录 文章目录CANdelaStu

诊断协议那些事儿's blog 1870

c++输出控制台彩色字体

c++使用控制字符在终端输出彩色字体

m0_51194302的博客 2281

【保姆级教程】基于UNet++&MobileNetv2的语义分割模型从训练到RK3588部署:让边缘AI落地效率提升300%

通过SMP库一键构建encoder_name="mobilenet_v2", # 选择MobileNetv2作为骨干encoder_weights="imagenet", # 加载预训练权重加速收敛in_channels=3, # 输入图像通道数(RGB)classes=29, # Cityscapes数据集类别数activation=None # 输出无激活,便于后续损失计算本教程从“模型设计-训练-转换-边缘部署”全链路拆解了。

FJN110的博客 210

彩色的Hello World到彩色的Donuts甜甜圈-蓝桥ROS云课-C++案例

在这个代码中,我们使用了ANSI转义码来实现彩色输出。其中,colors数组保存了七种不同的颜色代码,分别对应不同的角度范围。在循环中,我们使用了数学函数来计算每个点的距离和角度,并根据距离和角度选择不同的颜色输出。在输出彩色字符串时,需要先设置颜色代码,然后输出字符串,最后恢复默认颜色。90-109 又是设置前景背景的,比之前的颜色浅。\033[K 清除从光标到行尾的内容。\033[nA 光标上移n行。\033[nB 光标下移n行。\033[nC 光标右移n行。\033[nD 光标左移n行。

zhangrelay的专栏 2074

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

c++语言在cmd下输出彩色字符

c++语言在cmd下输出彩色字符 对于c语言来说可以用system和sprintf在cmd下输出彩色字符,但是对于c++语言来说却没有好的解决办法。 现在可以用下面的ConsoleColor.h解决这个问题 #pragma once #include <iostream> #include <windows.h> inline ...

weixin_34261415的博客 868

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

上一篇: C++有多好?
下一篇: system() 函数在 C++ 中的使用
programmer  Alex
博客等级 码龄1年 33粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值