前言

前段时间,看到终端里面彩色文字觉得好看,突然就好奇的搜索了一下。我已经记不起那个人的博客了这里就不加连接了。今天准备删掉一些测试代码,看到这个想着还是记录下来,省的下次找了,虽然很好找。

彩色

先看下之前某位大佬写的吧:

#define RESET   "\033[0m"
#define BLACK   "\033[30m"      /* Black */
#define RED     "\033[31m"      /* Red */
#define GREEN   "\033[32m"      /* Green */
#define YELLOW  "\033[33m"      /* Yellow */
#define BLUE    "\033[34m"      /* Blue */
#define MAGENTA "\033[35m"      /* Magenta */
#define CYAN    "\033[36m"      /* Cyan */
#define WHITE   "\033[37m"      /* White */
#define BOLDBLACK   "\033[1m\033[30m"      /* Bold Black */
#define BOLDRED     "\033[1m\033[31m"      /* Bold Red */
#define BOLDGREEN   "\033[1m\033[32m"      /* Bold Green */
#define BOLDYELLOW  "\033[1m\033[33m"      /* Bold Yellow */
#define BOLDBLUE    "\033[1m\033[34m"      /* Bold Blue */
#define BOLDMAGENTA "\033[1m\033[35m"      /* Bold Magenta */
#define BOLDCYAN    "\033[1m\033[36m"      /* Bold Cyan */
#define BOLDWHITE   "\033[1m\033[37m"      /* Bold White */std::cout << BOLDYELLOW << "BOLDYELLOW" << std::endl;
std::cout << YELLOW << "YELLOW" << std::endl;

因为cpp 不建议使用宏来预定义,建议使用const来定义常量。这个区别表现在编译器对宏展开和const处理上。这里就不展开了,自己查吧。我记不清了,就记住尽可能使用const代替宏来定义常量。下面是我自己使用const定义的,再加上Google Coding Style。最后多一嘴像这种没什么大用处的代码自己写到一个头文件中放放到自己的写代码库中就可以了,想用时候include一下就好了,这种代码基本不会被修改。

#ifndef COMMON_TERMINAL_TEXT_COLOR_H_
#define COMMON_TERMINAL_TEXT_COLOR_H_
#include<string>namespace terminal
{const std::string kReset = "\033[0m";const std::string kBlack = "\033[30m";const std::string kRed = "\033[31m";const std::string kGreen = "\033[32m";const std::string kYellow = "\033[33m";const std::string kBlue = "\033[34m";const std::string kMagenta = "\033[35m";const std::string kCyan = "\033[36m";const std::string kWhite = "\033[37m";
} // !namespace terminal#endif // !COMMON_TERMINAL_TEXT_COLOR_H_

调用其实和上面一样,因为string支持流提取运算符。值得注意的是我自己又加了一个命名空间,因为颜色的单词太常见了,可能有人会定义一个char* kWhite =0xffffff,这样就容易重名。当使用std::cout<<kWhite<<std::endl;时就会不符合自己本意的问题,如果使用stringstream甚至导致出错。

终端(terminal)打印彩色文字相关推荐

  1. python在cmd中打印彩色文字

    版权声明:此文首发于我的个人站python在cmd中打印彩色文字,转载请注明出处. 百度来的 颜色值不太准确,下面的是亲测修改的: 单独写了一个文件 printColor.py,使用的时候只要作为模块 ...

  2. Windows中使用C语言实现打印彩色文字到命令行窗口

    本文记录的是在Windows中使用C语言自定义一个可以打印彩色文字的printf函数,函数原型如下: int colorful_printf(WORD color, const char* forma ...

  3. 在终端中输出彩色文字

    开发工作中经常见到终端中各种命令输出的彩色文字,例如 ls 命令就以不同颜色表示文件的不同类型. 而在我们自己写的程序输出的信息却是默认的黑色,本文将为你介绍终端输出带颜色的文字的原理,让我们开发的程 ...

  4. python在windows的cmd中打印彩色文字

    在cmd中打印出彩色文字,主代码来自网上,一不小心忘了原链接了,抱歉.下面我是修改后的内容. [python] view plain copy #!/usr/bin/env python #encod ...

  5. Python在cmd上打印彩色文字

    在Windows上编写python程序时,有时候需要对输出的文字颜色进行设置,特别是日志显示,不同级别的日志设置不同的颜色进行展示可以直观查看.本文主要描述通过ctypes.windll.kernel ...

  6. 在浏览器控制台打印彩色文字

    浏览器控制台我们一般都是用来打印一些信息,来调试我们的代码.但是控制台也可以变得多姿多彩. console.log("%c 前端开发 %c v1.2.0 ", 'color:#ff ...

  7. printf打印彩色文字,有颜色字体

    原文地址:http://blog.csdn.net/lwbeyond/article/details/40588145 控制字符的通用格式如下: Esc[{attr1};...;{attrn}m 其中 ...

  8. Python打印彩色文字

    #!/usr/bin/python# -*- coding: UTF-8 -*-import ctypesdef echo(*o,c=7,sep=' ',end='\n'):k=ctypes.WinD ...

  9. python做彩色字_python在命令行打印彩色文字

    [Python] 纯文本查看 复制代码#!/usr/bin/python # -*- coding: UTF-8 -*- import ctypes def echo(*o,c=7,sep=' ',e ...

最新文章

  1. nginx 反向代理 apache 服务
  2. python爬虫简单实例-这个Python爬虫的简单入门及实用的实例,你会吗?
  3. java求数列的最大子段和_天下无双的公考必考题 数量关系: 最值问题②(构造数列)...
  4. 打分排序系统漫谈1 - 时间衰减
  5. 莫烦Matplotlib可视化第五章动画代码学习
  6. (06)System Verilog 数组类型示例
  7. 信息安全技术期末复习总结
  8. sns.load_dataset报错解决
  9. 台湾省谷歌高清卫星地图下载
  10. java数字转大写_java实现数字转大写的方法
  11. C#:实现离散型马尔可夫链模型算法(附完整源码)
  12. SEO诊断案例-崔凯博客
  13. 微信视频号视频或直播预约二维码如何生成?
  14. 走楼梯2<每日一题>
  15. circos 可视化手册-links 篇
  16. JavaScript实现双色球随机一注
  17. “该微信号已经绑定了50个小程序,不可继续绑定”,如何自助解绑
  18. paid有计算机功能吗,‎App Store 上的“计算器 - iPad计算机”
  19. html组织架构插件,jQuery组织架构图插件okrTree.js
  20. 委托交易怎么卖出开仓?买入开仓和卖出开仓要注意些什么?

热门文章

  1. Mysql单表、多表、SQL语句(DQL)
  2. IC学习笔记20——VCS的使用(一)仿真事件队列
  3. C++数据类型占据多少个字节
  4. 公有云提到的各个合规compliance都是什么东西?
  5. 2020.11.07 使用OpenCV进行图像边缘提取(Sobel算子)【OpenCV C++ Sobel】
  6. 2021-08-17 WPF控件专题 Canvas 控件详解
  7. python 导入from osgeo import osr解决方法
  8. 数据湖在大数据场景下应用和实施方案调研笔记(增强版)
  9. STM32使用OLED显示一个简单的计数器
  10. 【云原生进阶之容器】第二章Controller Manager原理2.8节--Resync机制