c++之终端输出带颜色
2021/6/28 20:24:16
本文主要是介绍c++之终端输出带颜色,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录- 基础用法
- ANSI escape codes
- #define
基础用法
#include <iostream> int main(int argc, char** argv) { std::cout << "\033[0;30m This is black color text ! \033[0m" << std::endl; std::cout << "\033[0;31m This is red color text ! \033[0m" << std::endl; std::cout << "\033[0;32m This is green color text ! \033[0m" << std::endl; std::cout << "\033[0;33m This is orang color text ! \033[0m" << std::endl; std::cout << "\033[0;34m This is blue color text ! \033[0m" << std::endl; std::cout << "\033[0;35m This is purple color text ! \033[0m" << std::endl; std::cout << "\033[0;36m This is cyan color text ! \033[0m" << std::endl; std::cout << "\033[0;37m This is light gray color text ! \033[0m" << std::endl; return 0; }
ANSI escape codes
颜色 | code | 颜色 | code |
---|---|---|---|
black | 0;30 | dark gray | 1;30 |
red | 0;31 | light red | 1;31 |
green | 0;32 | light green | 1;32 |
brown/orange | 0;33 | yellow | 1;33 |
blue | 0;34 | light blue | 1;34 |
purple | 0;35 | light purple | 1;35 |
cyan | 0;36 | light cyan | 1;36 |
light vray | 0;37 | whilte | 1;37 |
- 参考: https://stackoverflow.com/questions/5947742/how-to-change-the-output-color-of-echo-in-linux
注:
- 错误 -- 红色
- 警告 -- 黄色
- 信息 -- 绿色
#define
- 方法一:
#define COUT(X) std::cout <<std::setiosflags(std::ios::fixed)<< X << "\033[3m" << "\r" << std::flush << std::endl #define COUTR(X) std::cout <<std::setiosflags(std::ios::fixed)<< "\033[1;31m " << X << "\033[0m" << "\r" << std::flush << std::endl // red #define COUTG(X) std::cout <<std::setiosflags(std::ios::fixed)<< "\033[1;32m " << X << "\033[0m" << "\r" << std::flush << std::endl // green #define COUTY(X) std::cout <<std::setiosflags(std::ios::fixed)<< "\033[1;33m " << X << "\033[0m" << "\r" << std::flush << std::endl // yellow #define COUTB(X) std::cout <<std::setiosflags(std::ios::fixed)<< "\033[1;34m " << X << "\033[0m" << "\r" << std::flush << std::endl // blue #define COUTP(X) std::cout <<std::setiosflags(std::ios::fixed)<< "\033[1;35m " << X << "\033[0m" << "\r" << std::flush << std::endl // purple
用法:
COUTG("~~ ================================================ ~~"); COUTG("~~ ===== Robosense Perception ===== ~~"); COUTG("~~ ================================================ ~~"); COUTG("OpenCV version: " << CV_VERSION); COUTG("ROS version: " << ROS_VERSION_MAJOR << "." << ROS_VERSION_MINOR << "." << ROS_VERSION_PATCH); COUTG("PCL version: " << PCL_VERSION_PRETTY); COUTG("Boost version: " << BOOST_LIB_VERSION); COUTG("Eigen version: " << EIGEN_WORLD_VERSION << "." << EIGEN_MAJOR_VERSION << "." << EIGEN_MINOR_VERSION);
- 方法二:
#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 PURPLE "\033[35m" /* Purple */ #define CYAN "\033[36m" /* Cyan */ #define WHITE "\033[37m" /* White */ #define NORMAL (std::cout << RESET) #define INFO (std::cout << GREEN) #define WARN (std::cout << YELLOW) #define ERROR (std::cout << RED) #define DEBUG (std::cout << CYAN) #define END (std::endl) #define REND "\033[0m" << std::endl
个人感觉第二种方法用起来更方便些.
这篇关于c++之终端输出带颜色的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-28易优新手必读安装教程-icode9专业技术文章分享
- 2024-06-28忘记eyoucms后台密码怎么办?-icode9专业技术文章分享
- 2024-06-26终极指南:Scrum中如何设置需求优先级
- 2024-06-26AI大模型企业应用实战(25)-为Langchain Agent添加记忆功能
- 2024-06-26小白家庭 nas 搭建方案-icode9专业技术文章分享
- 2024-06-23AI大模型企业应用实战(14)-langchain的Embedding
- 2024-06-23AI大模型企业应用实战(15)-langchain核心组件
- 2024-06-23AI大模型企业应用实战(16)-langchain核心组件
- 2024-06-23AI 大模型企业应用实战(06)-初识LangChain
- 2024-06-19EntBot.ai: AI Website Chatbot for Product Guides and Development Doc