C语言带颜色的printf/fprintf打印

printf函数高级用法设置打印字体颜色和背景色等 给大家介绍一下printf函数高级用法设置打印字体颜色和背景色等 阅读详情
AI摘要

本文介绍如何在C语言中使用特定的转义序列来为printf输出的内容设置不同的颜色,以区分不同级别的信息,如警告和错误信息。通过示例展示了如何设置字体颜色及背景颜色。

引子

C语言中默认的printf打印都是一种颜色的,有时候为了突出显示其中的信息,避免重要的警告(warning)和错误(error)信息淹没在其他不重要的log中,有必要区别不同信息级别的字体颜色。

格式

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

例如,

printf("\033[47;31mThis is a color test.\033[0m");

47是字背景颜色, 31是字体的颜色, This is a color test.是字符串. \033[0m是控制码.
上述结果在Ubuntu里测试显示效果如下:
颜色打印

附录

部分颜色代码:
字背景颜色: 40--49                字颜色: 30--39
40: 黑                           30: 黑
41: 红                           31: 红
42: 绿                           32: 绿
43: 黄                           33: 黄
44: 蓝                           34: 蓝
45: 紫                           35: 紫
46: 深绿                         36: 深绿
47:白色                         37:白色
C 语言控制台打印不同颜色字体方法 C 语言控制台打印不同颜色字体方实现 阅读详情

相关推荐

C语言字符串输出全解析:从printf到write的性能与安全实践

在C语言编程中,字符串输出是程序与用户及环境交互的基础操作,其核心原理涉及I/O流、缓冲区管理和系统调用。理解格式化输出与非格式化输出的区别,掌握缓冲区的工作机制,是编写高效、安全代码的关键技术基础。从工程实践角度看,合理选择输出方法能显著提升程序性能与稳定性:例如使用snprintf可避免缓冲区溢出安全漏洞,而fputs在纯文本输出场景下性能最优。本文聚焦C语言字符串输出的多种方法,深入分析printf、fputs、write等函数在格式化需求、输出目标、缓冲策略等方面的差异,并提供基于性能、安全性和可移

weixin_30606461的博客 424

printf 彩色输出

printf如何输出彩色内容

日常记录,挨打要立正! 6188

C语言整数类型深度解析:从内存布局到跨平台编程实践

数据类型是编程语言的基石,它定义了数据的存储格式、取值范围和可执行的操作。在C语言中,整数类型作为最基础的数据类型,其底层原理直接影响程序的正确性、性能和可移植性。理解整数在内存中的表示方式、类型转换规则以及平台差异,是编写健壮高效代码的关键技术。本文聚焦于C语言整数家族的核心概念,通过分析int、short、long等类型的位宽差异、有符号与无符号的本质区别,深入探讨了整数溢出、隐式类型转换等常见陷阱的成因与解决方案。结合sizeof运算符的实战应用和printf格式化输出的技巧,文章进一步展示了如何在嵌

weixin_30323631的博客 358

C语言中使用printf()打印漂亮的颜色字体

1、 打印炫彩字体 : "\033[字背景颜色;字体颜色m字符串\033[0m" 格式如:printf("\033[1;33m Hello World. \033[0m \n"); //打印黄色的Hello World. 以下代码Linux可用, 一个color.h文件, 一个.c文件 打印不同颜色 #ifndef _COLOR_H_ #define _COLOR_H_ #...

MoDa_Li的博客 2万+

C语言实战:从零实现控制台扫雷游戏,巩固二维数组与递归编程

C语言学习过程中,二维数组、递归、随机数等语法概念往往停留在习题层面,难以形成工程认知。扫雷游戏作为经典的控制台项目,恰好能将零散知识点串联成完整逻辑链:用二维数组建模棋盘,以洗牌算法完成布雷,借助递归实现空白区域自动展开,再通过文件读写保存游戏数据。这种从数据结构设计到游戏循环实现的完整流程,不仅强化了C语言核心语法,更能提升解决实际问题的工程能力。对于正在寻找练手项目巩固基础的学习者,或想重温C语言开发的程序员,本工程笔记梳理了从项目模块划分、界面交互到中文乱码、输入缓冲等常见坑位的完整排障思路,可直接

weixin_34296641的博客 453

在386电脑与Turbo C环境下学习C语言编程的完整指南

C语言作为计算机编程的基础语言,其核心原理在于直接操作内存和硬件资源。通过理解指针、内存管理等底层概念,开发者能够深入掌握程序在计算机中的执行机制。这种底层编程能力对于系统开发、嵌入式编程等领域具有重要价值。在实践层面,使用Turbo C这样的经典开发环境,特别是结合386老式计算机或DOSBox模拟器,能够帮助学习者避开现代IDE的复杂性,专注于语言本质。通过从基础语法到模块化编程,再到文件操作和图形编程的完整学习路径,开发者可以建立扎实的编程基础。这种在受限环境下的编程体验,尤其适合想要深入理解计算机工

diaomeijiao3430的博客 532

C语言printf函数打印带颜色的文本

C语言print函数打印带有颜色的文本

lingchuan 1974

Linux C语言实现终端进度条:从原理到工程实践

在Linux系统编程中,终端I/O控制是基础且重要的概念,它涉及程序与用户之间的实时交互。理解终端的工作原理,特别是输出缓冲机制和转义字符(如回车符'\r'与换行符'\n'的区别),是构建流畅命令行界面的关键。通过合理利用fflush(stdout)强制刷新缓冲区,开发者可以突破行缓冲限制,实现内容的原地动态更新,这为创建实时反馈组件提供了技术基础。进度条作为典型的视觉反馈元素,其技术价值在于提升用户体验,让长时间运行的任务(如文件拷贝、数据备份或编译过程)状态透明化。在应用场景上,它广泛集成于各类命令行工

circularr9834的博客 460

带背景颜色和字体颜色的 printf/fprintf 打印

带背景颜色和字体颜色的 printf/fprintf 打印

InfiniteYuan 2273

UE4 GamePlay框架深度解析:从蓝图到C++构建多人游戏核心

在游戏开发与实时交互应用领域,一套清晰、可扩展的底层框架是项目成功的关键。GamePlay框架作为虚幻引擎(UE4/UE5)的核心架构,定义了游戏世界中对象交互、状态管理与网络同步的基本原理。它通过职责分离的设计模式,将游戏规则(GameMode)、全局状态(GameState)、玩家状态(PlayerState)、可操控实体(Pawn/Character)及其控制器(Controller)等核心类有机组织起来,确保了逻辑的清晰性与多人游戏数据的一致性。其技术价值在于为开发者提供了一套经过验证的最佳实践,大

weixin_33924770的博客 616

Linux文件操作四剑客

① /^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/ // 年-月-日 yyyy-MM-dd / yy-MM-dd 格式。⑥“^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$” //正浮点数。

wuds_158的博客 1609

printf打印彩色字符

代码参考来源:https://blog.youkuaiyun.com/qq_29796781/article/details/81135198 #include <stdio.h> /* #define DBG_PRINT(format, arg...) do { fprintf(stdout,"%ld,%d,[flash_sn]--- "format"\n",\ get_current_time(.

qingfengjuechen的专栏 717

unity之——解决利用Jenkins在Windows环境下打包unity工程中的场景为apk包,打包打不出来的问题。并且介绍Jenkins从安装到环境配置,调用unity代码的过程(填坑)!!!!!

今天第一次接触Jenkins,比较头疼。网上的Jenkins配置环境相关的资料比较散乱,并且在Windows平台下相关的配置更是少之又少。我在这里讲一下从Jenkins安装到构建工程。打包unity工程的apk包的过程。 1.首先去Jenkins官网下载安装就不说了,安装完成之后在浏览器中输入http://localhost:8080(默认访问地址)进入Jenkins web界面。进行账号的注册...

cgy56191948的博客 2020

linux printf color颜色 \033[

color.h #define NONE "\033[m" #define RED "\033[0;32;31m" #define LIGHT_RED "\033[1;31m" #define GREEN "\033[0;32;32m" #define LIGHT_GREEN "\033[1;32m" #define BLUE

junjun5156的博客 2718

【STM32项目】基于STM32设计的震动马达超声波电机高频震动——高级定时器PWM互补输出带死区控制__资料编号3

实现高级定时器互补输出带死区控制,实现震动/超声波电机/马达,高频震动。使用 STM32F103 芯片输出两路互补 PWM,并带有死区和刹车控制功能。定时器 1 通道 1 及其互补通道输出PWM,且带死区控。当定时器 1 的刹车输入引脚被拉高时,产生刹车时间,即定时器 8 停止输出 PWM。当刹车输入引脚被拉高时,通道 1 和通道 2 将从有波形输入状态转换成无效电平状态。

嵌入式阿齐Archie 6742

pyecharts在jupyter notebook中不能够渲染图表问题。

在使用jupyter notebook中使用pyecharts绘制可视化图表的时候,发现图表不能渲染到页面中,生成的html是没问题的,本文主要解决在jupyter notebook中不能渲染这个问题。

猿小白的博客 1165

深入解析fatih/color库:Go语言终端色彩输出指南

在命令行应用开发中,良好的色彩输出可以显著提升用户体验。fatih/color是一个功能强大且易于使用的Go语言库,专门用于在终端输出彩色文本。本文将全面介绍该库的核心功能和使用方法,帮助开发者掌握终端色彩输出的各种技巧。 ## 基础使用 ### 预定义颜色快捷方法 该库提供了一系列开箱即用的颜色输出方法,非常适合快速实现基础色彩需求: ```go color.Cyan("青色文字")

gitblog_00951的博客 610

使用libVLC进行视频截图的C/C++实现

通过这些代码,你可以在C/C++应用程序中实现视频截图功能,并将视频帧保存为图像文件。请注意,本文只提供了基本的示例代码,你可以根据自己的需求进行扩展和修改。libVLC是一个强大的开源多媒体框架,可以用于在C/C++应用程序中处理和播放音频和视频文件。我们将展示如何初始化libVLC,打开视频文件,捕获视频帧并保存为图像文件。在开始编写代码之前,你需要包含libVLC的头文件,并链接相应的库文件。在链接阶段,你需要添加libVLC库的链接选项。在使用libVLC之前,你需要初始化libVLC的实例。

学习使你进步。 470

Go 终端彩色输出实践:详解 fatih/color 的 ANSI 颜色库与 Tilt 中的真实应用

`fatih/color` 是一个基于 ANSI Escape Code(SGR 参数)实现 Go 程序终端彩色输出的轻量级库,同时提供对 Windows 终端的原生支持。本文以 Tilt 仓库中 vendor 的 [README](https://link.gitcode.com/i/189f54d5f571845ab9343b2bd00e931e) 与 [color.go](https://l

gitblog_00149的博客 1034

Yield Management软件:Lam Research二次开发_(5).缺陷分析与分类方法

在半导体制造过程中,缺陷分析和分类是提高良率管理(Yield Management)的关键步骤。通过准确地识别和分类缺陷,可以更好地理解工艺过程中的问题,从而采取有效的措施来提高生产效率和产品质量。本节将详细介绍缺陷分析和分类的方法,包括缺陷检测、特征提取、分类算法及其在Lam Research软件中的应用。

2401_87715305的博客 687

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Ghostty 嵌入式终端着色实践:用 libghostty-vt C 库设置默认颜色、读取生效值并观察 OSC 覆盖

本文基于仓库中的示例项目 [example/c-vt-colors](https://link.gitcode.com/i/71713cefa9f954bf8733bbcb65d13080),系统讲解如何通过 `ghostty-vt` C 库为嵌入式终端设置默认前景色、背景色、光标色和 256 色调色板,如何通过 `ghostty_terminal_get` 区分"生效值(effective)"与

gitblog_00666的博客 920

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

C语言进制转换实战:从原理到应用,掌握底层数据操作核心技能

进制转换是理解计算机数据存储与运算的基础概念。计算机内部所有数据本质上都以二进制形式存在,这是由硬件逻辑门电路(如晶体管)的两种稳定状态决定的。理解二进制、十六进制和八进制之间的转换原理,是掌握内存操作、位运算、数据序列化等核心技术的基石。这项技能在嵌入式开发、网络协议解析、文件格式处理及逆向工程等应用场景中具有极高的技术价值。本文围绕二进制计算和十六进制格式等热点,通过具体代码示例,系统讲解了在C语言中如何安全高效地进行不同进制数据的输入、输出、解释与转换,帮助开发者打通底层数据处理的任督二脉。

weixin_33997389的博客 338

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

在386老电脑上用Turbo C学习C语言指针与内存管理实践

C语言作为接近硬件的编程语言,其核心价值在于直接的内存操作和高效的资源管理。通过指针这一关键概念,程序员能够直接访问和操作内存地址,理解数据在计算机中的存储与访问原理。这种底层控制能力在系统编程、嵌入式开发等领域具有不可替代的技术价值。在DOS环境下使用Turbo C编译器,特别是通过近指针和远指针的实践,可以深入理解16位实模式下的内存分段机制。本文基于386硬件平台和MS-DOS系统,展示了如何通过复古编程环境掌握C语言的指针操作与内存管理技巧,为理解计算机底层原理奠定坚实基础。

weixin_34192816的博客 399

C语言进阶实战:指针、内存管理与文件I/O核心难点解析

在编程学习中,理解计算机如何管理数据和内存是构建扎实基础的必经之路。指针作为C语言的灵魂,其本质是内存地址,它允许程序直接操作内存,是实现高效数据访问和复杂数据结构(如链表、树)的关键。动态内存管理则使程序能够在运行时灵活申请和释放堆内存,突破了栈空间的限制,这对于处理可变规模数据至关重要。这些底层原理构成了系统编程、嵌入式开发和高性能计算的技术基石。本文聚焦于C语言学习中的核心难点,通过结构体构建自定义数据类型、文件I/O实现数据持久化等实战案例,深入解析指针运算、多级指针、内存对齐及malloc/fre

weixin_33906657的博客 318

MicroLIB下printf终端重定向实战指南

在嵌入式开发中,printf并非天然具备输出能力,其背后依赖C标准库对底层I/O的抽象封装。当脱离Linux/glibc环境进入裸机开发,stdio函数便失去默认终端支持,此时MicroLIB作为ARM Cortex-M平台轻量级C库,通过弱符号机制(如_sys_write)将I/O控制权交还开发者。理解这一‘标准IO契约断裂’现象,是解决printf不输出、中文乱码、隐式声明警告等高频问题的技术前提。本文聚焦MicroLIB环境下终端重定向的核心路径——从串口、SWO到RTT与自定义Shell,覆盖实现原

weixin_34306593的博客 244
上一篇: C语言中的fprintf和printf区别在哪?
下一篇: FFmpeg庖丁解牛系列之log模块
ericbars
博客等级 码龄10年 120粉丝 30原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值