当前位置: 首页 > news >正文

std::cout打印不同颜色的字符到终端

在 C++ 中,std::cout 打印到终端时可以利用 ANSI 转义序列 来改变字符颜色。只要终端支持 ANSI escape codes,就可以在输出中嵌入这些特殊的转义序列来设置前景色、背景色以及其他样式,比如加粗、下划线等。


基本原理

ANSI 转义序列形如:

\033[<style>;<foreground>;<background>m
  • \033 是转义字符(Esc)。
  • [ ... m 内是样式代码。
  • 结束时用 \033[0m 来重置颜色。

常用颜色代码

前景色

颜色代码
黑色30
红色31
绿色32
黄色33
蓝色34
品红(洋红)35
青色36
白色37

背景色

颜色代码
黑色40
红色41
绿色42
黄色43
蓝色44
品红(洋红)45
青色46
白色47

示例代码

#include <iostream>int main() {// 红色文字std::cout << "\033[31mRed Text\033[0m\n";// 绿色背景 + 白色文字std::cout << "\033[37;42mWhite on Green\033[0m\n";// 多段彩色输出std::cout << "\033[31mR\033[32mG\033[34mB\033[0m\n";// 加粗蓝色文字std::cout << "\033[1;34mBold Blue\033[0m\n";return 0;
}

注意

  • \033[0m 必须在最后打印,用于重置终端颜色,否则后续输出会继承之前的颜色。
  • 在 Windows 的 cmd 早期版本可能不支持 ANSI,需要使用 Windows 10+ 或启用 ANSI 支持;或者用 WinAPI(SetConsoleTextAttribute)控制颜色。
  • 在 Linux/macOS 终端一般默认支持 ANSI 转义序列。

扩展:使用库封装

如果不想手写转义序列,可以用库,比如:

  • fmt / spdlog 支持颜色输出。
  • termcolor:一个轻量 C++ header-only 库。
  • rang:简单易用,不需要额外依赖。

例如 termcolor

#include <iostream>
#include <termcolor/termcolor.hpp>int main() {std::cout << termcolor::red << "Hello Red" << termcolor::reset << std::endl;std::cout << termcolor::green << "Hello Green" << termcolor::reset << std::endl;
}
http://www.dtcms.com/a/526083.html

相关文章:

  • 做网站杭州傲视信息网站备案 名称 不一致吗
  • 网站名查询网址如何给自己的网站做外链
  • 网站右边跳出的广告怎么做17网一起做网店普宁站
  • Vite 工作原理
  • 在vue-next-admin开源项目增加定义布局配置:页面缓存接口数据
  • 网站建设教学视频百度云盘wordpress 标签云 插件
  • 网站产品使用说明书怎么做wordpress站外连接
  • 网站资料如何做参考文献时尚网站模板
  • 欧美在线网站设计教程企业所得税税率2022
  • 【零基础学MySQL】第一章:MySQL介绍与安装
  • 邯郸有学做搭建网站的吗为客户创建网站必须
  • 网站加入wordpress免费网站app下载汅api
  • ftp链接网站空间苏州营销型网站开发公司
  • 2025妈妈杯大数据竞赛A题mathorcup大数据:集装箱智能破损检测问题手把手思路代码文章教学大学生数学建模
  • 网站备案资料申请平面设计与广告设计
  • 企业类网站模板免费下载dedecms网站乱码
  • 爱思唯尔期刊投稿经验
  • 山东城市建设职业学院图书馆网站抖音怎么推广
  • Hive 加载文件数据到表
  • C++中函数重载解析:从原理到应用
  • Toolhub — 一个干净实用的在线工具集合
  • 深圳网站优化运营安卓手机网页视频怎么下载
  • 做网站自动赚钱珠海网站建设策略
  • 制作公司网站结构图汽车网站模板下载
  • 南通网站建设报价成都装修网
  • 网站模板平台资源搜索引擎seo关键词优化
  • 优秀网站案例欣赏明会红网站
  • 优秀企业网站案例附近学电脑培训班
  • 不知此网站枉做男人的网站微网站 报价
  • 蔬菜网站模板城乡与建设厅网站首页