C语言输出不同颜色的字体

news2024/11/24 0:15:27

本文章在Linux进行演示!!!

使用C语言输出不同颜色字体和背景

格式:

printf("\033[字体背景颜色;字体颜色m字符串\033[0m");

上边的   \033  也可以用   \e   来代替。

字体颜色与字符的对应关系

字符颜色
30黑色
31红色
32绿色
33黄色
34蓝色
35紫色
36深绿色
37白色

字体背景颜色与字符的对应关系 

字符背景颜色
40黑色
41红色
42绿色
43黄色
44蓝色
45紫色
46深绿色
47白色

屏幕控制与字符的对应关系

字符动作
0关闭所有属性
1设置高亮
4下划线
5闪烁
7反显
8消隐

简易版的彩色进度条

#include <iostream>
#include <string>
#include <string.h>
#include <unistd.h>

using namespace std;

int main()
{
    char buf[102];
    memset(buf,0,sizeof(buf));
    int cnt=0;
    string s="|/-\\";
    while(cnt<=100)
    {
        switch (cnt%8)
        {
        case 0:
            printf("\033[40;31m[%-100s][%d%%]%c\r\e[0m",buf,cnt,s[cnt%4]);
            break;
        case 1:
            printf("\033[40;32m[%-100s][%d%%]%c\r\e[0m",buf,cnt,s[cnt%4]);
            break;
        case 2:
            printf("\033[40;33m[%-100s][%d%%]%c\r\e[0m",buf,cnt,s[cnt%4]);
            break;
        case 3:
            printf("\033[40;34m[%-100s][%d%%]%c\r\e[0m",buf,cnt,s[cnt%4]);
            break;
        case 4:
            printf("\033[40;35m[%-100s][%d%%]%c\r\e[0m",buf,cnt,s[cnt%4]);
            break;
        case 5:
            printf("\033[40;36m[%-100s][%d%%]%c\r\e[0m",buf,cnt,s[cnt%4]);
            break;
        case 6:
            printf("\033[40;37m[%-100s][%d%%]%c\r\e[0m",buf,cnt,s[cnt%4]);
            break;
        default:
            break;
        }
        buf[cnt++]='#';
        fflush(stdout);
        usleep(10000);
    }
    cout<<endl;
    return 0;
}

部分输出截图

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

小白学视觉 | 各种各样神奇的自注意力机制(Self-attention) 建议收藏!

本文来源公众号“小白学视觉”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;收藏&#xff01;各种各样神奇的自注意力机制&#xff08;Self-attention&#xff09; 编者荐语 文章总结了关于李宏毅老师在 2022 年春季机器学习课…

MAC(M1芯片)编译Java项目慢且发热严重问题解决方案

目录 一、背景二、排查三、解决四、效果以及结果展示五、总结 一、背景 使用idea编译项目等操作&#xff0c;经常性发热严重&#xff0c;并且时间慢。直到昨天编译一个项目用时30分钟&#xff0c;电脑温度很高&#xff0c;并且有烧灼的味道&#xff0c;于是有了此篇文章。 二、…

关于Jar包提示找不到主类 找不到或无法加载主类

关于Jar包提示找不到主类 找不到或无法加载主类 当时看到教程打包一个正常的小型增删改查为50MB&#xff0c;也就是几十MB&#xff0c;可我打包得到的Jar包只有几MB&#xff0c;一直提示找不到主类application。经检查 根据方法&#xff0c;只需使用mvn clean 和 mvn packa…

大米自动化生产线设备:现代粮食加工的核心力量

随着科技的不断进步和粮食加工行业的快速发展&#xff0c;大米自动化生产线设备在现代粮食加工中的地位愈发重要。这些设备不仅大大提高了生产效率&#xff0c;还保证了产品的质量和安全&#xff0c;成为了现代粮食加工行业不可或缺的核心力量。 一、自动化生产线设备助力效率提…

厂房起火3D消防灭火安全救援模拟演练

深圳VR公司华锐视点依托前沿的VR虚拟现实制作、三维仿真和图形图像渲染技术&#xff0c;将参训者带入栩栩如生的火灾现场。佩戴VR头盔&#xff0c;参训者将真切体验火势蔓延的紧张与危机&#xff0c;身临其境地感受火灾的恐怖。 并且消防安全VR虚拟现实演练系统精心模拟了住宅、…

基于单链表实现通讯管理系统!(有完整源码!)

​ 个人主页&#xff1a;秋风起&#xff0c;再归来~ 文章专栏&#xff1a;C语言实战项目 个人格言&#xff1a;悟已往之不谏&#xff0c;知来者犹可追 克心守己&#xff0c;律己则安&#xff01; 1、前言 友友们&#xff0c;这篇文章是基于单链…

005Node.js模块URL的使用

引入 URL 模块 要使用 URL 模块&#xff0c;首先需要在代码中引入它。可以使用以下代码将 URL 模块导入到你的脚本中&#xff1a; const url require(url);实例代码 const urlrequire(url); var apihttp://www.baidu.com?nameshixiaobin&age20; console.log(url.parse(…

Android应用和开发环境

&#x1f308;个人主页&#xff1a;小新_- &#x1f388;个人座右铭&#xff1a;“成功者不是从不失败的人&#xff0c;而是从不放弃的人&#xff01;”&#x1f388; &#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐️ 留言&#x1f4dd; &#x1f3c6;所属专栏&#xff1…

70 个常用的GIS Python 库

由于其多功能性、广泛的库生态系统和用户友好的语法&#xff0c;Python 已成为地理信息系统 (GIS) 和遥感领域的主导语言。这个 70 个地理空间 Python 库的汇编展示了可用于 GIS 和遥感数据处理和分析的丰富工具包。 Python 在 GIS 中的重要性源于它处理复杂地理空间数据的能力…

rancher踩坑日志:prometheus访问kubelet 10250端口提示鉴权失败

该原因是因为kubectl禁止了非授权用户访问10250端口来获取node的数据。 解决思路&#xff1a; 添加prometheus访问kubelet时带上证书进行验证匹配 --> 由于我的prometheus是rancher安装的&#xff0c;不知道要怎么修改所以研究了一会没研究明白就放弃了。设置prometheus访问…

运动听歌哪款耳机靠谱?精选五款热门开放式耳机

随着人们对运动健康的重视&#xff0c;越来越多的运动爱好者开始关注如何在运动中享受音乐。开放式蓝牙耳机凭借其独特的设计&#xff0c;成为了户外运动的理想选择。它不仅让你在运动时能够清晰听到周围环境的声音&#xff0c;保持警觉&#xff0c;还能让你在需要时与他人轻松…

gym界面修改

资料&#xff1a;https://blog.csdn.net/weixin_46178278/article/details/135962782 在gym环境中使用mujoco的时候&#xff0c;有一个很难受的地方&#xff0c;界面上没有实时显示动作空间和状态空间状态的地方。 gym自己原始带的环境是用pygame画的图&#xff0c;所以在定义…

【爬虫+数据清洗+可视化分析】Python文本分析《狂飙》电视剧的哔哩哔哩评论

一、背景介绍 把《狂飙》换成其他影视剧&#xff0c;套用代码即可得分析结论&#xff01; 2023《狂飙》热播剧引发全民追剧&#xff0c;不仅全员演技在线&#xff0c;且符合主旋律&#xff0c;创下多个收视记录&#xff01; 基于此热门事件&#xff0c;我用python抓取了B站上千…

【SpringBoot】获取参数

获取参数 传递单个参数传递多个参数传递对象后端参数重命名传递数组传递 json 数据获取 URL 中参数上传文件获取 cookie 和 session获取cookie获取session 传递单个参数 RequestMapping("/user") RestController public class UserController {// 传递单个参数Reque…

力扣 | 160. 相交链表

import ListNodeInfo.ListNode;import java.util.HashSet; import java.util.Set;public class Problem_160_IntersectionOfTwoLinkedList {//双指针方法 public ListNode getIntersectionListNode(ListNode headA, ListNode headB){if(headA null || headB null) return nul…

S32K324 CANFD报文接收超限分析

文章目录 前言问题描述原因分析问题处理总结 前言 随着汽车软件复杂度越来越高&#xff0c;传输的数据越来越多&#xff0c;CAN总线到CANFD总线已经是发展的必然了。CANFD总线中单个报文ID可以传递至多64byte数据&#xff0c;对CAN Driver来说&#xff0c;所需的MCU资源也将变…

数据集学习

1&#xff0c;CIFAR-10数据集 CIFAR-10数据集由10个类的60000个32x32彩色图像组成&#xff0c;每个类有6000个图像。有50000个训练图像和10000个测试图像。 数据集分为五个训练批次和一个测试批次&#xff0c;每个批次有10000个图像。测试批次包含来自每个类别的恰好1000个随机…

Ubuntu桌面系统安装成功后的简单配置

目录 更换软件源设置系统时间同步 更换软件源 本文使用的换源方法仅限于桌面版 前提有网络连接&#xff0c;能够访问互联网 在Ubuntu18.04桌面版中&#xff0c;点击左下角“显示应用程序”&#xff0c;搜索“软件更新器”&#xff0c;点击进入。 暂时不要点击立即安装&#xff…

ES6: promise对象与回调地狱

ES6&#xff1a; promise对象与回调地狱 一、回调地狱二、Promise概述三、Promise的组成四、用函数封装Promise读取文件操作 一、回调地狱 在js中大量使用回调函数进行异步操作&#xff0c;而异步操作什么时候返回结果是不可控的&#xff0c;所以希望一段程序按我们制定的顺序执…

免费ssl证书能一直续签吗?如何获取SSL免费证书?

免费SSL证书是否可以一直续签。我们需要了解SSL证书的基本工作原理。当你访问一个使用HTTPS协议的网站时&#xff0c;该网站实际上在使用一个SSL证书。这个证书相当于一个数字身份证明&#xff0c;它验证了网站的真实性和安全性。而这个证明是由受信任的第三方机构——通常是证…