0

0

C++ 怎么设置控制台颜色 C++ system color命令使用【娱乐】

裘德小鎮的故事

裘德小鎮的故事

发布时间:2026-01-26 12:47:15

|

742人浏览过

|

来源于php中文网

原创

Windows下system("color XY")可快速设置控制台颜色,X为背景、Y为文字色(0–F),但仅限原生cmd有效;VS Code等伪终端不支持,应改用ANSI转义序列并启用虚拟终端处理。

c++ 怎么设置控制台颜色 c++ system color命令使用【娱乐】

Windows 下用 system("color XX") 快速改控制台颜色

在 Windows 命令行(cmd)中,color 是一个内置命令,C++ 可通过 system() 调用它来改变控制台文字和背景色。格式是 system("color XY"),其中 X 是背景色,Y 是文字色,都必须是 0–F 的十六进制数字。

常见组合示例:

  • system("color 0A"):黑底绿字(最常用,护眼)
  • system("color F0"):白底黑字(高对比,但易反光)
  • system("color 4F"):红底亮白字(警告提示常用)

注意:color 命令只影响当前控制台窗口,且仅在 Windows 下有效;在 VS Code 终端、WSL 或 macOS/Linux 上执行会报错或静默失败。

为什么 system("color") 在 VS Code 或某些终端里不生效

根本原因是这些环境不是真正的 cmd.exe,而是基于伪终端(pty)或 WebView 的模拟器,不解析 Windows 控制台命令。

立即学习C++免费学习笔记(深入)”;

典型表现:

  • VS Code 集成终端执行后无反应,也不报错
  • Clion / Qt Creator 中输出 'color' is not recognized as an internal or external command
  • 程序运行后颜色没变,但单独在 cmd 中敲 color 0A 是有效的

这不是代码写错了,而是终端兼容性问题——别硬扛,换方案。

BgSub
BgSub

免费的AI图片背景去除工具

下载

跨平台更稳的方式:用 ANSI 转义序列(C++17+ 推荐)

现代 Windows 10 1511+ 和所有 Linux/macOS 终端原生支持 ANSI 颜色码,只需启用虚拟终端处理(Windows 首次运行需设置一次),之后直接输出 \033[XXm 即可。

关键步骤:

  • Windows 下首次运行前调用 SetConsoleOutputCP(CP_UTF8)SetConsoleMode(..., ENABLE_VIRTUAL_TERMINAL_PROCESSING)
  • 之后用 std::cout (绿字黑底)
  • ANSI 码更灵活:\033[1m加粗,\033[4m下划线,\033[K清行

缺点是代码稍长,但避免了 system() 的安全警告(如编译器报 warning C4996: 'system': This function or variable may be unsafe)和平台锁定问题。

system("color") 的隐藏限制和风险

它本质是启动新进程执行 cmd 命令,有实际开销,且存在几个容易被忽略的坑:

  • 不能在 MinGW-w64 的 -static 编译模式下可靠工作(找不到 shell)
  • 如果控制台已被其他程序(比如 conhost.exe 的子进程)接管,可能无效
  • 连续多次调用(如循环里)会导致明显卡顿,因为每次都要 fork + exec
  • 输出重定向时(如 ./a.exe > out.txt),color 命令会被丢弃,但不会报错

娱乐小项目用用无妨,但只要涉及输出重定向、自动化测试或跨平台分发,就得切到 ANSI 方案——这点很多人拖到上线才意识到。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
视频后缀名都有哪些
视频后缀名都有哪些

视频后缀名都有avi、mpg、mpeg、rm、rmvb、flv、wmv、mov、mkv、ASF、M1V、M2V、MPE、QT、VOB、RA、RMJ、RMS、RAM、等等。更多关于视频后缀名的相关知识,详情请看本专题下面的文章,php中文网欢迎大家前来学习。

3512

2023.10.31

C++ Qt图形开发
C++ Qt图形开发

本专题专注于 C++ Qt框架在图形界面开发中的应用,系统讲解窗口设计、信号与槽机制、界面布局、事件处理、数据库连接与跨平台打包等核心技能,通过多个桌面应用项目实战,帮助学员快速掌握 Qt 框架并独立完成跨平台GUI软件的开发。

68

2025.08.15

C++ 图形界面开发基础(Qt方向)
C++ 图形界面开发基础(Qt方向)

本专题系统讲解 使用 C++ 与 Qt 进行图形界面(GUI)开发的核心技能,内容涵盖 Qt 项目结构、窗口组件、信号与槽机制、事件处理、布局管理、资源管理,以及跨平台编译与打包流程。通过多个小型桌面应用实战案例,帮助学习者掌握从界面设计到功能实现的完整 GUI 开发能力。

63

2025.12.05

视频后缀名都有哪些
视频后缀名都有哪些

视频后缀名都有avi、mpg、mpeg、rm、rmvb、flv、wmv、mov、mkv、ASF、M1V、M2V、MPE、QT、VOB、RA、RMJ、RMS、RAM、等等。更多关于视频后缀名的相关知识,详情请看本专题下面的文章,php中文网欢迎大家前来学习。

3512

2023.10.31

C++ Qt图形开发
C++ Qt图形开发

本专题专注于 C++ Qt框架在图形界面开发中的应用,系统讲解窗口设计、信号与槽机制、界面布局、事件处理、数据库连接与跨平台打包等核心技能,通过多个桌面应用项目实战,帮助学员快速掌握 Qt 框架并独立完成跨平台GUI软件的开发。

68

2025.08.15

C++ 图形界面开发基础(Qt方向)
C++ 图形界面开发基础(Qt方向)

本专题系统讲解 使用 C++ 与 Qt 进行图形界面(GUI)开发的核心技能,内容涵盖 Qt 项目结构、窗口组件、信号与槽机制、事件处理、布局管理、资源管理,以及跨平台编译与打包流程。通过多个小型桌面应用实战案例,帮助学习者掌握从界面设计到功能实现的完整 GUI 开发能力。

63

2025.12.05

windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

730

2023.07.26

查看端口占用情况windows
查看端口占用情况windows

端口占用是指与端口关联的软件占用端口而使得其他应用程序无法使用这些端口,端口占用问题是计算机系统编程领域的一个常见问题,端口占用的根本原因可能是操作系统的一些错误,服务器也可能会出现端口占用问题。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

1128

2023.07.27

拼多多赚钱的5种方法 拼多多赚钱的5种方法
拼多多赚钱的5种方法 拼多多赚钱的5种方法

在拼多多上赚钱主要可以通过无货源模式一件代发、精细化运营特色店铺、参与官方高流量活动、利用拼团机制社交裂变,以及成为多多进宝推广员这5种方法实现。核心策略在于通过低成本、高效率的供应链管理与营销,利用平台社交电商红利实现盈利。

14

2026.01.26

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.8万人学习

Git 教程
Git 教程

共21课时 | 3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号