C++ 设置控制台输出颜色
#include <stdint.h>
#include <iostream>
#include <string>
#include <Windows.h> // 0 = 黑色 8 = 灰色
// 1 = 蓝色 9 = 淡蓝色
// 2 = 绿色 A = 淡绿色
// 3 = 浅绿色 B = 淡浅绿色
// 4 = 红色 C = 淡红色
// 5 = 紫色 D = 淡紫色
// 6 = 黄色 E = 淡黄色
// 7 = 白色 F = 亮白色 // 控制台前景颜色
enum ConsoleForegroundColor
{
enmCFC_Red = FOREGROUND_INTENSITY | FOREGROUND_RED,
enmCFC_Green = FOREGROUND_INTENSITY | FOREGROUND_GREEN,
enmCFC_Blue = FOREGROUND_INTENSITY | FOREGROUND_BLUE,
enmCFC_Yellow = FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN,
enmCFC_Purple = FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_BLUE,
enmCFC_Cyan = FOREGROUND_INTENSITY | FOREGROUND_GREEN | FOREGROUND_BLUE,
enmCFC_Gray = FOREGROUND_INTENSITY,
enmCFC_White = FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE,
enmCFC_HighWhite = FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE,
enmCFC_Black = ,
}; enum ConsoleBackGroundColor
{
enmCBC_Red = BACKGROUND_INTENSITY | BACKGROUND_RED,
enmCBC_Green = BACKGROUND_INTENSITY | BACKGROUND_GREEN,
enmCBC_Blue = BACKGROUND_INTENSITY | BACKGROUND_BLUE,
enmCBC_Yellow = BACKGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN,
enmCBC_Purple = BACKGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_BLUE,
enmCBC_Cyan = BACKGROUND_INTENSITY | BACKGROUND_GREEN | BACKGROUND_BLUE,
enmCBC_White = BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE,
enmCBC_HighWhite = BACKGROUND_INTENSITY | BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE,
enmCBC_Black = ,
}; void SetConsoleColor(ConsoleForegroundColor foreColor = enmCFC_White, ConsoleBackGroundColor backColor = enmCBC_Black)
{
HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(handle, foreColor | backColor);
} int32_t main()
{
int32_t allForeColors[] = { enmCFC_Red, enmCFC_Green, enmCFC_Blue, enmCFC_Yellow, enmCFC_Purple, enmCFC_Cyan, enmCFC_Gray, enmCFC_White, enmCFC_HighWhite, enmCFC_Black };
std::string allForeColorsName[] = { "enmCFC_Red", "enmCFC_Green", "enmCFC_Blue", "enmCFC_Yellow", "enmCFC_Purple", "enmCFC_Cyan", "enmCFC_Gray", "enmCFC_White", "enmCFC_HighWhite", "enmCFC_Black" };
int32_t allBackColors[] = { enmCBC_Red, enmCBC_Green, enmCBC_Blue, enmCBC_Yellow, enmCBC_Purple, enmCBC_Cyan, , enmCBC_White, enmCBC_HighWhite, enmCBC_Black };
std::string allBackColorsName[] = { "enmCBC_Red", "enmCBC_Green", "enmCBC_Blue", "enmCBC_Yellow", "enmCBC_Purple", "enmCBC_Cyan", "", "enmCBC_White", "enmCBC_HighWhite", "enmCBC_Black " };
for(uint32_t i = ; i < sizeof(allForeColors) / sizeof(allForeColors[]); ++i)
{
for(uint32_t j = ; j < sizeof(allForeColors) / sizeof(allForeColors[]); ++j)
{
if(i != j && allBackColorsName[j] != "")
{
SetConsoleColor((ConsoleForegroundColor)allForeColors[i], (ConsoleBackGroundColor)allBackColors[j]);
std::cout << "ForeColor:" << allForeColorsName[i] <<",backColor:"<< allBackColorsName[j] << std::endl;
}
}
}
getchar();
return ;
}

C++ 设置控制台输出颜色的更多相关文章
- python之设置控制台字体颜色
# 设置控制台输出字体颜色 # 格式:\033[显示方式;前景色;背景色m # 采用终端默认设置:\033[0m # 红色字体 print('\033[1;31m') print('*' * 10) ...
- python控制台输出颜色
python_控制台输出带颜色的文字方法在开发项目过程中,为了方便调试代码,经常会向stdout中输出一些日志,默认的这些日志就直接显示在了终端中.而一般的应用服务器,第三方库,甚至服务器的一些通告也 ...
- Windows上C语言实现设置控制台的颜色
这里设置只要调用system();这个函数就行了,参数是字符串,想要设置终端的颜色,按照以下格式可以设置: //数字表示前景色,字母表示背景色 //color 0=黑色 1蓝色 2 绿色 3湖蓝色 4 ...
- 【python】控制台输出颜色
来源:http://www.cnblogs.com/yinjia/p/5559702.html 在开发项目过程中,为了方便调试代码,经常会向stdout中输出一些日志,默认的这些日志就直接显示在了终端 ...
- python设置文字输出颜色
#!/usr/bin/env python # -*- coding:utf-8 -*- """ @Time: 2018/5/5 20:43 @Author: Jun H ...
- c windows控制台输出颜色文字
#include <windows.h> //设置文字颜色void SetColor(int ForgC){ WORD wColor; //We will need this handle ...
- Linux终端和win32控制台文本颜色输出
在使用putty.secureCRT.XShell等终端仿真器连接linux系统时,ls.vim等工具的输出都含有各种颜色,这些颜色的输出大大地增强了文本的可读性. 通常我们可以使用echo命令加-e ...
- Eclipse设置之:代码注释/server 控制台输出乱码解决
1 Eclipse设置 Configure clean up style The location is here: And the configuration should fo ...
- C/C++控制台输出时设置字体及背景颜色
1.改变整个控制台的颜色用 system("color 0A"); 其中color后面的0是背景色代号,A是前景色代号.各颜色代码如下: 0=黑色 1=蓝色 2=绿色 3=湖蓝色 ...
随机推荐
- 寻找道路(NOIP2014)神奇之题。。
原题传送门 这道题嘛.. 首先根据题目,我们要先知道哪些点能够到达终点.(反向BFS) 然后我们再求最短路的途中,必须随时判断周围的点是否被第一次BFS标记过.. 所以再来一次BFS. 数组记得清零, ...
- Linux中brk()系统调用,sbrk(),mmap(),malloc(),calloc()的异同【转】
转自:http://blog.csdn.net/kobbee9/article/details/7397010 brk和sbrk主要的工作是实现虚拟内存到内存的映射.在GNUC中,内存分配是这样的: ...
- mtk GPIO口
http://blog.csdn.net/mcgrady_tracy/article/details/39320691 mt6582多达168个GPIO口,当然这些GPIO口是复用的,注意lk和Lin ...
- Linux使用命令记录
1.对一个文件夹中所有的文件进行修改权限: • chmod –R 777 aa (- R 递归式改变指定目录及其所目录文件拥者) • 目录/his及其所文件目录,chown - R www.www / ...
- [BZOJ4756][Usaco2017 Jan]Promotion Counting 树状数组
4756: [Usaco2017 Jan]Promotion Counting Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 305 Solved: ...
- Redis设置记录
首先大前提是,这个redis使用的外网端口,需要在防火墙或者安全组中打开 正常在redis配置文件里有个bind,这个默认是127.0.0.1,如果不修改,就是内网可以访问. 这里有个点需要提一下,就 ...
- 使用iSCSI Target创建集中式安全存储(一)
iSCSI 是一种块级别的协议,用于通过TCP/IP网络共享原始存储设备,可以用已经存在的IP和以太网如网卡.交换机.路由器等通过iSCSI协议共享和访问存储.iSCSI target是一种由远程iS ...
- 使用iframe实现页面无刷新提交表单
iframe提交表单其实比ajax要方便一些,当然ajax也有ajax的好处,只是ajax编码处理有时有些麻烦,虽然经过转码是可以解决中文问题,但如果直接使用iframe不存这些问题了,下面来看看. ...
- POJ 2923 【01背包+状态压缩/状压DP】
题目链接 Emma and Eric are moving to their new house they bought after returning from their honeymoon. F ...
- SpringBoot日志管理
一.简介 小张:开发一个大型系统:1.System.out.println(""):将关键数据打印在控制台:去掉?写在一个文件?2.框架来记录系统的一些运行时信息:日志框架 : z ...