文章目录

  • 前言
  • 一、如何改变控制台输出的颜色?
  • 二、单纯只设置文字颜色
  • 总结

前言

C 语言控制台输出的只是 “黑底白字”吗 ?不!它也可以是有彩色的,原来我们可以调用 Windows.h 头文件下的 SetConsoleTextAttribute 函数来实现改变文字和背景的颜色。


一、如何改变控制台输出的颜色?

1、调用 Windows.h 头文件下的 SetConsoleTextAttribute 函数

调用的形式如下:

SetConsoleTextAttribute( HANDLE hConsoleOutput, WORD wAttributes );

  • hConsoleOutput 表示控制台缓冲区句柄,可以通过 GetStdHandle(STD_OUTPUT_HANDLE) 来获得.

  • WORD 在 Windows.h 中定义,等同于 unsigned short,使用低 4 位表示文字(前景)颜色,高 4 位表示文字背景颜色,所以它的取值为 xx。 x 是一位十六进制数,即 0 ~ F 都可以使用,可以随意组合。

  • wAttributes 表示文字颜色和背景颜色。

0 ~ F 分别代表的颜色如下:

0 = 黑色 —— 8 = 灰色
1 = 蓝色 —— 9 = 淡蓝色
2 = 绿色 —— A = 淡绿色
3 = 浅绿色 —— B = 淡浅绿色
4 = 红色 —— C = 淡红色
5 = 紫色 —— D = 淡紫色
6 = 黄色 —— E = 淡黄色
7 = 白色 —— F = 亮白色

例如,我们将背景设置为紫色,文字设置为黄色:

#include <stdio.h>
#include <windows.h>int main()
{HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleTextAttribute(hConsole, 0x56);printf("Hello world !\n");return 0;
}

运行结果如下:

二、单纯只设置文字颜色

1、如果你只想设置文字颜色,不改变背景颜色,那么也可以只给出一位 16 进制数。
例如:

SetConsoleTextAttribute(hConsole, 0xC ); //将文字颜色设置为红色
SetConsoleTextAttribute(hConsole, 0xF ); //将文字颜色设置为白色
SetConsoleTextAttribute(hConsole, 2 ); //将文字颜色设置为绿色

#include <stdio.h>
#include <windows.h>int main()
{HANDLE hConsole =GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleTextAttribute(hConsole, 0xc);printf("red\n");SetConsoleTextAttribute(hConsole, 0xF);printf("white\n");SetConsoleTextAttribute(hConsole, 2);printf("green\n");return 0;
}

运行结果如下:


总结

以上就是今天要讲的内容,学完之后你就可以设置你自己喜欢的颜色 。

C 语言的控制台输出只是 “黑底白字”吗 ?相关推荐

  1. 探索篇 | C语言改变控制台输出内容颜色

    控制台是什么 让代码『跑』起来 当代码执行的时候,会生成一个控制台命令框,把我们想要的内容打印显示.这个窗口我们称之为计算机控制台 命名行界面 cmd 命令提示符 控制台 改变控制台前景色.背景色 只 ...

  2. C语言版 彩色俄罗斯方块 控制台输出

           本代码由vc++6.0编译通过,属于本人三个晚上的作品,没什么优化 仅供学习娱乐专用.不用添加任何库文件.直接下载编译即可运行.下载地址在本文末尾处! 效果图: 源码: / // 名称: ...

  3. 用Java语言进行简单的求1-100之间的求偶和,并把求和结果在控制台输出

    ##用Java语言进行简单的求1-100之间的求偶和,并把求和结果在控制台输出 话不多说直接上代码 在这里插入代码片 //求1-100之间的求偶和,并把求和结果在控制台输出 public class ...

  4. C语言变换控制台颜色

    C语言变换控制台颜色 我们都知道用C语言写的程序打开的控制台颜色默认为黑底白字,看的多了确实感觉乏味,那么可以改变颜色么?其实是可以的,有两种方法可以改变控制台颜色,一种是用 system() 调用 ...

  5. 【Unity3D 灵巧小知识点】☀️ | Unity控制台 输出打印不同颜色的字体

    Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 . 包括游戏开发.美术.建筑.汽车设计.影视在内的所有创作者,借助 Unity 将创意 ...

  6. Web运行控制台输出乱码解决总结

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

  7. vscode php输出,js程序如何在vscode控制台输出

    该编辑器支持多种语言和文件格式的编写,截止2019年9月,已经支持了如下37种语言或文件:F#.HandleBars.Markdown.Python.Jade.PHP.Haxe.Ruby.Sass.R ...

  8. 让shell终端和goland控制台输出彩色的文字

    让shell终端和goland控制台输出彩色的文字 版权声明:本文为 Elonjelinek 原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https ...

  9. [C/C++]宽字符与控制台输出

    在我刚开始学C/C++的时候,字符类型使用的都是char.接触Win32编程之后,养成了使用wchar_t的习惯,于是再写控制台程序的时候自然就使用wchar_t了.然而在控制台程序中使用宽字符会导致 ...

最新文章

  1. Day13 目录结构自定义Yum仓库源码包编译安装(Service02)
  2. Chapter 4. 正则表达式验证
  3. python基础之day1
  4. 基于织梦Cms5.7 utf-8版本的仿今日头条微信小程序模块插件的使用和安装
  5. maven报错: 错误的类文件:… 类文件具有错误的版本 52.0,应为 54.0
  6. 安卓APP_ 布局(6) —— ConstrainLayout约束布局(重要)
  7. java http2_探索HTTP/2: HTTP 2协议简述(原)
  8. springboot 中文文档_还在用 Swagger生成接口文档?我推荐你试试它
  9. 虚拟系统管理VSM提高服务器整合率
  10. iOS:选择器控件UIPickerView的详解和演示
  11. java文件读写工具类
  12. 李永乐老师讲博弈论:帝王为啥要杀掉有功之臣
  13. Javascript es6 在线编辑器
  14. rpm 打包及其命令
  15. word插入分隔符的方法
  16. 阿里巴巴的店铺有何运营技巧
  17. 计算机怎么转换中文版,电脑转换中文是哪个键
  18. DirectX11-鼠标拾取
  19. Android Studio配置优化最全详解
  20. 高分辨率卫星影像建筑物变化检测

热门文章

  1. 淘宝新开店铺容易忽略的地方,如何安全提升宝贝排名
  2. Android开发——百度地图定位
  3. LORA手持机便携终端PDA的应用场景
  4. 职场健康:久坐不动最伤五部位 简单动作可有效改善
  5. cache 是什么意思 它包括的L1,L2,L3分别是什么东西
  6. CAD文件如何转成PDF格式?告诉你如何转换
  7. qcc300x开发调试笔记
  8. 使用伪类(before,after)给元素添加分割线(|)
  9. STM32MP157基于Yocto构建Qt镜像和SDK工具链
  10. 网页设计中的色彩心理学