C/C++ printf彩色打印输出

2023-10-27

C/C++ printf彩色打印输出

控制命令

我们常用的printf函数输出来的颜色是终端的配色。如果想要输出不同的颜色进行区分,就需要用到printf的控制命令:\033[m。
控制命令以\033[开头,以m结尾,而中间则是属性码,属性代码之间使用;分隔,如\033[1;34;42m。而属性代码的含义见下面的表格。

printf属性代码

属性代码 功能
0 重置所有属性
1 高亮/加粗
2 暗淡
4 下划线
5 闪烁
7 反转
8 隐藏

前景色

属性代码 功能
30 黑色
31 红色
32 绿色
33 黄色
34 蓝色
35 品红
36 青色

背景色

属性代码 功能
40 黑色
41 红色
42 绿色
43 黄色
44 蓝色
45 品红
46 青色

代码示例

#include <stdio.h>

void printf_red(const char *s)
{
    printf("\033[0m\033[1;31m%s\033[0m", s);
}

void printf_green(const char *s)
{
    printf("\033[0m\033[1;32m%s\033[0m", s);
}

void printf_yellow(const char *s)
{
    printf("\033[0m\033[1;33m%s\033[0m", s);
}

void printf_blue(const char *s)
{
    printf("\033[0m\033[1;34m%s\033[0m", s);
}

void printf_pink(const char *s)
{
    printf("\033[0m\033[1;35m%s\033[0m", s);
}

void printf_cyan(const char *s)
{
    printf("\033[0m\033[1;36m%s\033[0m", s);
}

int main()
{
    printf_red("Hello World.\n");
    printf_green("Hello World.\n");
    printf_yellow("Hello World.\n");
    printf_blue("Hello World.\n");
    printf_pink("Hello World.\n");
    printf_cyan("Hello World.\n");
    return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C/C++ printf彩色打印输出 的相关文章

  • 为什么相同的代码在同一台计算机上的执行时间可能不同?

    我是 C 编程新手 我编写了代码并希望获得它的运行时 这就是我所做的 每次运行代码时 我都会得到不同的运行时值 这样对吗 或者我的代码有问题吗 int main int argc char argv time t start end sta
  • 如何在 C++ 中的文件末尾添加数据?

    我已按照网上的说明进行操作 此代码应该将输入添加到文件 数据库 的末尾 但当我检查时 数据会覆盖现有数据 请帮忙 这是我的代码 int main string name string address string handphone cou
  • std::cout 和 std::wcout 有什么区别?

    在c 中 有什么区别std cout and std wcout 它们都控制流缓冲区的输出或将内容打印到控制台 或者它们只是相似吗 它们作用于不同的字符类型 std cout uses char作为字符类型 std wcout uses w
  • 启动时出现 OData v4 错误:找不到段“Whatever”的资源

    我正在构建新的 v4 服务 一切进展顺利 直到我为新模型 实体添加了新控制器 并在启动站点进行测试运行时收到此错误 控制器似乎编码正确 就像其他控制器一样 控制器 CustomersOData 中的操作 GetFeed 上的路径模板 Cus
  • 推导指南中的引用和值之间的差异

    考虑类型A template
  • 将内置类型转换为向量

    我的 TcpClient 类接受vector
  • 如何从 .resx 文件条目获取注释

    资源文件中的字符串有名称 值和注释 The ResXResourceReader类让我可以访问名称和值 有办法看评论吗 你应该能够得到Comment via ResXDataNode class http msdn microsoft co
  • 如何访问另一个窗体上的ListView控件

    当单击与 ListView 所在表单不同的表单中的按钮时 我试图填充 ListView 我在 Form1 中创建了一个方法以在 Form2 中使用 并将参数传递给 Form1 中的方法 然后填充 ListView 当我调试时 我得到了传递的
  • 使用 C 语言使用 strftime() 获取缩写时区

    我看过this https stackoverflow com questions 34408909 how to get abbreviated timezone and this https stackoverflow com ques
  • 如何在 Linq 中获得左外连接?

    我的数据库中有两个表 如下所示 顾客 C ID city 1 Dhaka 2 New york 3 London 个人信息 P ID C ID Field value 1 1 First Name Nasir 2 1 Last Name U
  • 在一个字节中存储 4 个不同的值

    我有一个任务要做 但我不知道从哪里开始 我不期待也绝对不想要代码中的答案 我想要一些关于该怎么做的指导 因为我感到有点失落 将变量打包和解包到一个字节中 您需要在一个字节中存储 4 个不同的值 这些值为 NAME RANGE BITS en
  • 如何使用 watin 中的 FileUploadDialogHandler 访问文件上传对话框

    我正在使用 IE8 和 watin 并尝试通过我的网页测试上传文件 我不能简单地使用 set 方法设置上传文件 例如 ie FileUpload Find ById someId Set C Desktop image jpg 因为上传文本
  • Visual Studio 中的测试单独成功,但一组失败

    当我在 Visual Studio 中单独运行测试时 它们都顺利通过 然而 当我同时运行所有这些时 有些通过 有些失败 我尝试在每个测试方法之间暂停 1 秒 但没有成功 有任何想法吗 在此先感谢您的帮助 你们可能有一些共享数据 检查正在使用
  • 如何将自定义 JSON 文件添加到 IConfiguration 中?

    我正在使用 asp net Autofac 我正在尝试加载自定义 JSON 配置文件 并基于该文件创建 实例化 IConfiguration 实例 或者至少将我的文件包含到默认情况下构建的 IConfiguration asp net 中
  • std::async 与重载函数

    可能的重复 std bind 重载解析 https stackoverflow com questions 4159487 stdbind overload resolution 考虑以下 C 示例 class A public int f
  • gcc 的配置选项如何确定默认枚举大小(短或非短)?

    我尝试了一些 gcc 编译器来查看默认枚举大小是否很短 至少一个字节 强制使用 fshort enums 或无短 至少 4 个字节 强制使用 fno short enums user host echo Static assert 4 si
  • 为什么在setsid()之前fork()

    Why fork before setsid 守护进程 基本上 如果我想将一个进程与其控制终端分离并使其成为进程组领导者 我使用setsid 之前没有分叉就这样做是行不通的 Why 首先 setsid 将使您的进程成为进程组的领导者 但它也
  • 有没有办法强制显示工具提示?

    我有一个验证字段的方法 如果无法验证 该字段将被清除并标记为红色 我还希望在框上方弹出一个工具提示 并向用户显示该值无效的消息 有没有办法做到这一点 并且可以控制工具提示显示的时间 我怎样才能让它自己弹出而不是鼠标悬停时弹出 If the
  • 英特尔 Pin 与 C++14

    问题 我有一些关于在 C 14 或其他 C 版本中使用英特尔 Pin 的问题 使用较新版本从较旧的 C 编译代码很少会出现任何问题 但由于 Intel Pin 是操作指令级别的 如果我使用 C 11 或 C 14 编译它 是否会出现任何不良
  • 使用 GhostScript.NET 打印 PDF DPI 打印问题

    我在用GhostScript NET http ghostscriptnet codeplex com打印 PDF 当我以 96DPI 打印时 PDF 打印效果很好 但有点模糊 如果我尝试以 600DPI 打印文档 打印的页面会被极大地放大

随机推荐

  • Legal or Not HDU - 3342 拓扑排序 判环

    这道题的意思是 给你n个点 m行关系数据 左 gt 右 判断有无环的出现 方法 直接拓扑排序 如果能正常排序完 这个就是无环的有向图DAG 如果不能 在拓扑排序的过程中有些点的入度经过去边操作之后一直不为零 就是有环的存在 include
  • GPT4.0一句话实现各类图表制作,让数据可视化变得更简单!类图、流程图、ER图.....

    不知道大家有没有被ER建模工具复杂的操作按钮给困扰过 在作者学习ER建模时 曾希望能直接画出类图 但最终还是不得不学习繁琐的操作流程 然而 随着GPT的出现 AI现在也可以绘制UML图了 今天要向大家分享一个AI工具 它能够借助强大的GPT
  • STM32多中断模式

    1 基本概念 ARM Coetex M3内核共支持256个中断 其中16个内部中断 240个外部中断和可编程的256级中断优先级的设置 STM32目前支持的中断共84个 16个内部 68个外部 还有16级可编程的中断优先级的设置 仅使用中断
  • STM32与BLE蓝牙通信 Android APP配置(一)

    事物的难度远远低于对事物的恐惧 0 前言 最近完成了一个基于BLE蓝牙通信的简单APP 在这里记录下来 供大家参考希望能给需要的人解决疑惑 这个APP中一共是两个界面 第一个界面实现打开蓝牙 关闭蓝牙 扫描蓝牙和显示扫描的结果 通过选择扫描
  • 【接口测试基础】第十四篇

    iHRM项目实战 简介 功能模块 技术架构 前端 以Node js为核心的Vue js前端技术生态架构 后端 SprintBoot SprintCloud SprintMVC SprintData Spring全家桶 MySQL Redis
  • java list stream 去除 null_Stream流的这些操作,你得知道,对你工作有很大帮助

    作者 扬帆 起航 原文 https blog csdn net qq 43677736 Stream流 Stream 流 是一个来自数据源的元素队列并支持聚合操作 元素是特定类型的对象 形成一个队列 Java中的Stream并不会存储元素
  • SPSS软件学习

    1 文件 新建 数据 2 修改变量信息 在这里插入图片描述 3 查看数据基本情况 分析 描述统计 描述 4 相关性分析 相关 双变量 结果显示Pearson相关系数为 0 902 P值小于0 01 相关关系具有统计学意义 但实际上它们不一定
  • JAX基本用法以及GCN实现

    JAX定位 JAX 不是一个深度学习框架或深度学习库 其设计初衷也不是成为一个深度学习框架或深度学习库 JAX 的定位科学计算 Scientific Computing 和函数转换 Function Transformations 的交叉融
  • 2021年最新Python讲义:类和对象(含练习小项目)

    类和对象 目标 类和对象的概念 类和对象的关系 类的设计 01 类和对象的概念 类 和 对象 是 面向对象编程的 两个 核心概念 1 1 类 类 是对一群具有 相同 特征 或者 行为 的事物的一个统称 是抽象的 不能直接使用 特征 被称为
  • BUCK电源芯片中自举电容的说明

    自举电容的说明 在BUCK电路中 经常会看到一个电容连接在芯片的SW和BOOST管脚之间 这个电容称之为自举电容 关于这个电容 在下面对该电容进行说明 图1 LT3840应用电路图 1 MOS工作原理 首先认识MOS的符号 确定是N型还是P
  • JeeSite 4.1.3 发布,支持一级菜单在顶部,各种组件改进

    开发四年只会写业务代码 分布式高并发都不会还做程序员 gt gt gt 新增 新增参数配置 sys index menuStyle 2 的时候 一级菜单显示在主框架顶部 新增 lang defaultLocale 和 lang defaul
  • JDK1.5新特性一览--转

    JDK1 5 开发代号猛虎 的一个重要主题就是通过新增一些特性来简化开发 这些特性包括泛型 for each 循环 自动装包 拆包 枚举 可变参数 静态导入 使用这些特性有助于我们编写更加清晰 精悍 安全的代码 下面我们简单介绍一下这些新特
  • 数据库概述10(事务)

    MySQL事务 MySQL事务机制主要用于处理操作量大 复杂度高的数据 在MySQL中只有使用了Innodb数据库引擎的数据表和数据库才支持事务 事务处理可以用来维护数据的完整性 保证多条SQL语句要么全部执行 要么全部不执行 事务用于管理
  • vue3实现 下拉框触底加载更多及搜索

    思路 做一个全局指令 查询了大量文章 发现统一用的指令 来实现触底加载功能 实操中发现 在vu3 的版本中 我这个项目中 无法通过自定义指令的形参 获取el select dropdown el select dropdown wrap 元
  • 若依部署在阿里云后,前台dist文件使用nginx服务,接口无法正常使用的问题?

    一 不知道有没有人遇到这个问题 反正我是跟着官网上的一样部署的 但是还是部署过后发现接口无法使用 如下图 一步步解决的 部署后 这种情况在若依本地是能使用的 自己写的接口一直都是这样报错 获取不到数据 二 查阅了很多文档 没找到解决方法 结
  • 03 - Qt 多线程网络通信——套接字

    文章序言 日志1 0 在QT中如何使用TCP协议进行套接字通信 即指网络通信 TCP 和 UDP是传输层协议 二者的区别 TCP是面向连接的流式传输协议 TCP传输 数据安全 UDP是面向无连接的报式传输协议 UDP的传输 数据不安全 比如
  • 小程序中使用分包

    前言 小程序在未使用的分包的情况下仅支持大小为2M 如果图片等资源过多的情况下可以使用分包功能 使用分包的情况下单个分包大小不能超过2M 总大小不能超过20M 分包有两种情况 普通分包和独立分包 下面介绍的是普通分包 官方文档 一 目录结构
  • STM32 使用HAL库做串口的DMA发送和中断接收

    HAL库使用太死板 HAL串口中断接收 HAL库使用起来太不灵活 限制太多 后面如有时间 将使用寄存器和HAL库混合操作的方式 如使用串口中断接收 在接收到数据后 库里做了关闭接收非空中断RXNEIE 如下 HAL库DMA发送 目前 我用的
  • C++ 排序函数用法详解

    C 排序函数用法详解 C STL 标准库提供有很多实用的排序函数 如表 1 所示 通过调用它们 我们可以很轻松地实现对普通数组或者容器中指定范围内的元素进行排序 表 1 C STL 排序函数 函数名 用法 sort first last 对
  • C/C++ printf彩色打印输出

    C C printf彩色打印输出 控制命令 我们常用的printf函数输出来的颜色是终端的配色 如果想要输出不同的颜色进行区分 就需要用到printf的控制命令 033 m 控制命令以 033 开头 以m结尾 而中间则是属性码 属性代码之间