C 语言的控制台输出只是 “黑底白字”吗 ?
文章目录
- 前言
- 一、如何改变控制台输出的颜色?
- 二、单纯只设置文字颜色
- 总结
前言
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 语言的控制台输出只是 “黑底白字”吗 ?相关推荐
- 探索篇 | C语言改变控制台输出内容颜色
控制台是什么 让代码『跑』起来 当代码执行的时候,会生成一个控制台命令框,把我们想要的内容打印显示.这个窗口我们称之为计算机控制台 命名行界面 cmd 命令提示符 控制台 改变控制台前景色.背景色 只 ...
- C语言版 彩色俄罗斯方块 控制台输出
本代码由vc++6.0编译通过,属于本人三个晚上的作品,没什么优化 仅供学习娱乐专用.不用添加任何库文件.直接下载编译即可运行.下载地址在本文末尾处! 效果图: 源码: / // 名称: ...
- 用Java语言进行简单的求1-100之间的求偶和,并把求和结果在控制台输出
##用Java语言进行简单的求1-100之间的求偶和,并把求和结果在控制台输出 话不多说直接上代码 在这里插入代码片 //求1-100之间的求偶和,并把求和结果在控制台输出 public class ...
- C语言变换控制台颜色
C语言变换控制台颜色 我们都知道用C语言写的程序打开的控制台颜色默认为黑底白字,看的多了确实感觉乏味,那么可以改变颜色么?其实是可以的,有两种方法可以改变控制台颜色,一种是用 system() 调用 ...
- 【Unity3D 灵巧小知识点】☀️ | Unity控制台 输出打印不同颜色的字体
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 . 包括游戏开发.美术.建筑.汽车设计.影视在内的所有创作者,借助 Unity 将创意 ...
- Web运行控制台输出乱码解决总结
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...
- vscode php输出,js程序如何在vscode控制台输出
该编辑器支持多种语言和文件格式的编写,截止2019年9月,已经支持了如下37种语言或文件:F#.HandleBars.Markdown.Python.Jade.PHP.Haxe.Ruby.Sass.R ...
- 让shell终端和goland控制台输出彩色的文字
让shell终端和goland控制台输出彩色的文字 版权声明:本文为 Elonjelinek 原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https ...
- [C/C++]宽字符与控制台输出
在我刚开始学C/C++的时候,字符类型使用的都是char.接触Win32编程之后,养成了使用wchar_t的习惯,于是再写控制台程序的时候自然就使用wchar_t了.然而在控制台程序中使用宽字符会导致 ...
最新文章
- Day13 目录结构自定义Yum仓库源码包编译安装(Service02)
- Chapter 4. 正则表达式验证
- python基础之day1
- 基于织梦Cms5.7 utf-8版本的仿今日头条微信小程序模块插件的使用和安装
- maven报错: 错误的类文件:… 类文件具有错误的版本 52.0,应为 54.0
- 安卓APP_ 布局(6) —— ConstrainLayout约束布局(重要)
- java http2_探索HTTP/2: HTTP 2协议简述(原)
- springboot 中文文档_还在用 Swagger生成接口文档?我推荐你试试它
- 虚拟系统管理VSM提高服务器整合率
- iOS:选择器控件UIPickerView的详解和演示
- java文件读写工具类
- 李永乐老师讲博弈论:帝王为啥要杀掉有功之臣
- Javascript es6 在线编辑器
- rpm 打包及其命令
- word插入分隔符的方法
- 阿里巴巴的店铺有何运营技巧
- 计算机怎么转换中文版,电脑转换中文是哪个键
- DirectX11-鼠标拾取
- Android Studio配置优化最全详解
- 高分辨率卫星影像建筑物变化检测