printf彩色打印模版

news/2025/1/13 22:41:30/文章来源:https://www.cnblogs.com/Gavinbeta/p/18669564

1.前言

  • 最近不是做了个解数独的程序吗,顺便把其中printf彩色打印输出的部分拿出来讲一讲。(其实网上很多文章都有讲这里分享一些其他的使用方法)

2.控制命令

  1. 控制命令以\033[开头,以m结尾
  2. 控制命令中,可以添加参数,如\033[x1;x2;x3m是一条合法的命令
  3. 其中x1,x2,x3是三个参数,其含义如下:

x1

代码 功能 效果图
0 重置所有属性 image
1 高亮,加粗 image
2 变暗 image
3 倾斜 image
4 下划线 image
5 闪烁 image
6 闪烁 image
7 反转前景色和背景色 image
8 隐藏输出内容 image

注意:闪烁由于是变化的过程,难以展示,每个命令结束应该加上\033[0m防止影响下一次输出。

x2,x3

x2(代码) x3(代码) 效果(颜色)
30 40
31 41
32 42 绿
33 43
34 44
35 45
36 46

注意:超出表格部分 会表示为白色(好像可以在懒得用\033[0m重置的时候临时用一下)

3.特殊方法

想必大家都发现了,printf所支持的颜色实在太了,一点个性也没有。其实,printf可以按RGB值打印字符串,方法如下:
printf("\033[38;2;x1;x2;x3m(你的内容)\033[0m");
在这里,x1,x2,x3就分别代表了R,G,B三个参数。

4.示例

  1. 按灰度打印#
#include<bits/stdc++.h>
using namespace std;int main(){for(int i = 0;i <= 255;i++){printf("\033[38;2;%d;%d;%dm#\033[0m",i,i,i);if((i+1)%20 == 0){cout<<'\n';}}return 0;
}

输出
image

  1. 用控制命令打印颜色:
#include<bits/stdc++.h>
using namespace std;int main(){for(int i = 30;i <= 36;i++){printf("\033[1;%dm#\t\033[1;37;%dm#\n\033[0m",i,i+10);}return 0;
}

输出
image

5.后记

printf彩色打印是非常实用的,我之前的解数独中也有用到。(话说今天是我生日来着)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/868745.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

股票异动拉升中间过程状态分析和检测算法

一.股票异动拉升中间过程状态分析和检测算法将股票分为:空闲,开始,持续,快停,涨停五种状态:可以勾选的方式来筛选处于五种状态的股票,更加精准的找出开始拉升,持续拉升,快要涨停的股票,对于处于空闲状态或者已经涨停的股票可以先不关注。 添加图片注释,不超过 140 …

一篇文章搞懂unity编辑器中Event的rawType, type和GetTypeForControl

简介 Event.rawType就是初始的type,可以通过Event.Use()将rawType修改为EventType.Used。 Event.type是经过GUIClip过滤的rawType,如果事件触发时,鼠标位置位于当前GUIClip中,返回rawType,如果鼠标不在当前GUIClip中,则设置为EventType.Ignore Event.GetTypeForControl 相…

我反向操作鸽掉腾讯音乐,只因为觉的...

大家好,我是土哥。 之前有位同学,在土哥的辅导下,居然飘了,当腾讯酷我音乐 HR 看完他的简历后,想邀约他面试,他直接一口回绝了。给的理由如下:目前只想面腾讯 QQ 音乐或者腾讯内部的岗位大厂流程已经到 offer 审核阶段了基于上述两个条件,所以暂时放弃面试。 当土哥看到…

leetcode刷题记录(java)——参考代码随想录:数组 链表 哈希表

四、题目之:代码随想录 https://programmercarl.com/ (1) 代码随想录:数组 704. 二分查找 class Solution {public int search(int[] nums, int target) {if(target<nums[0] || target>nums[nums.length-1]){return -1;}int left = 0,right = nums.length-1;while(lef…

本以为PDD挂了,结果开了50万SSP

大家好,我是土哥。 2024 届校招已然落下帷幕,互联网大厂为将优秀人才招致麾下,纷纷使出浑身解数。在薪资待遇方面,更是各有千秋 。 这里给大家分享一位2024届求职的小伙伴,PDD 非技术岗拿到 50w 的 SSP offer~ 我盆友圈的一个粉丝,之前和土哥交流,说她投递的PDD 上海岗位…

Win32汇编学习笔记11.游戏辅助的实现

Win32汇编学习笔记11.游戏辅助的实现-C/C++基础-断点社区-专业的老牌游戏安全技术交流社区 - BpSend.net 游戏基址 游戏基址的概念游戏基址是保持恒定的两部分内存地址的一部分并提供一个基准点,从这里可以计算一个字节数据的位置。基址伴随着一个加到基上的偏移值来确定信息准…

黑狂野大数据2

--拉链表 --增量导入是没有overwrite 且加载的是最新分区的数据

others_shellcode 1

其实这题直接nc连一下就可以了。其实考的是系统调用来着 32位程序系统调用号用 eax 储存, 第一 、 二 、 三参数分别在 ebx 、ecx 、edx中储存。 可以用 int 80 汇编指令调用。 64位程序系统调用号用 rax 储存, 第一 、 二 、 三参数分别在 rdi 、rsi 、rdx中储存。 可以用 sys…

一篇解决编译原理大作业,基于Flex、Bison设计编译器(含语法分析树和符号表)

1.工具简单介绍 Flex 和 Bison 是编译器开发中常用的两个工具,分别用于生成词法分析器和语法分析器。它们通常一起使用,共同完成源代码的词法分析和语法分析工作。 Flex: Flex通过读取一个规则文件(通常是.l文件),这个文件中定义了一系列的模式和对应的动作。模式用于匹配…

python 删除txt的前三行并保存原文件

数据 #!usr/bin/env python # -*- coding:utf-8 _*- """@author:Suyue @file:raindrop.py @time:2025/01/$ {DAY} @desc: """ def remove_first_three_lines(file_path):# 读取原始文件的所有行with open(file_path, r, encoding=utf-8) as file…

P3586 [POI2015] Logistyka

P3586 [POI2015] Logistyka 题目描述 维护一个长度为 \(n\) 的序列,一开始都是 \(0\),支持以下两种操作:U k a 将序列中第 \(k\) 个数修改为 \(a\)。 Z c s 在这个序列上,每次选出 \(c\) 个正数,并将它们都减去 \(1\),询问能否进行 \(s\) 次操作。每次询问独立,即每次询…