LINUX下printf输出字体的特效

简介: <p>在学习LINUX网络编程的时候我们做了一个聊天系统,当时为了界面更漂亮点,于是在百度上搜索了下关于printf()函数的用法,和大家分享下:<br>                           给printf的输出加上些特效比如颜色,可以让打印信息更鲜明,在debug的时候特别有用。<br>                         颜色:<br>        

在学习LINUX网络编程的时候我们做了一个聊天系统,当时为了界面更漂亮点,于是在百度上搜索了下关于printf()函数的用法,和大家分享下:
                          给printf的输出加上些特效比如颜色,可以让打印信息更鲜明,在debug的时候特别有用。
                        颜色:
                        #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         "\033[0;32;34m"
                        #define LIGHT_BLUE   "\033[1;34m"
                        #define DARY_GRAY    "\033[1;30m"
                        #define CYAN         "\033[0;36m"
                        #define LIGHT_CYAN   "\033[1;36m"
                        #define PURPLE       "\033[0;35m"
                        #define LIGHT_PURPLE "\033[1;35m"
                        #define BROWN        "\033[0;33m"
                        #define YELLOW       "\033[1;33m"
                        #define LIGHT_GRAY   "\033[0;37m"
                        #define WHITE        "\033[1;37m"
                        比如:
                        printf("\033[31m ####----->> \033[32m" "hello\n"
                        "\033[m");
                        颜色分为背景色和字体色,30~39用来设置字体色,40~49设置背景:
                                背景色                        字体色
                                40: 黑                          30: 黑
                                41: 红                          31: 红
                                42: 绿                          32: 绿
                                43: 黄                          33: 黄
                                44: 蓝                          34: 蓝
                                45: 紫                          35: 紫
                                46: 深绿                      36: 深绿
                                47: 白色                      37: 白色
                        记得在打印完之后,把颜色恢复成NONE,不然再后面的打印都会跟着变色。
                        
                        另外,还可以加一些ANSI控制码。加颜色只是以下控制码中的一种:
                        \033[0m   关闭所有属性  
                        \033[1m   设置高亮度  
                        \033[4m   下划线  
                        \033[5m   闪烁  
                        \033[7m   反显  
                        \033[8m   消隐  
                        \033[30m   --   \033[37m   设置前景色  
                        \033[40m   --   \033[47m   设置背景色  
                        \033[nA   光标上移n行  
                        \033[nB   光标下移n行  
                        \033[nC   光标右移n行  
                        \033[nD   光标左移n行  
                        \033[y;xH设置光标位置  
                        \033[2J   清屏  
                        \033[K   清除从光标到行尾的内容  
                        \033[s   保存光标位置  
                        \033[u   恢复光标位置  
                        \033[?25l   隐藏光标  
                        \033[?25h   显示光标
                        printf( CYAN "current function is %s " GREEN " file line is %d\n" NONE,
                                    __FUNCTION__, __LINE__ );
                        fprintf(stderr, RED "current function is %s " BLUE " file line is %d\n" NONE,
                                    __FUNCTION__, __LINE__ );
                            return 0;

相关文章
|
2月前
|
Java Linux 网络安全
【Azure 应用服务】App Service for Linux环境中,如何解决字体文件缺失的情况
【Azure 应用服务】App Service for Linux环境中,如何解决字体文件缺失的情况
|
4月前
|
数据管理 Linux 数据处理
探索Linux中的printf命令:数据处理与分析的利器
`printf`是Linux命令行中的文本格式化工具,类似C语言函数,用于数据处理和分析。它接受格式字符串和参数,格式化输出,支持字符串、整数、浮点数等类型。常用格式说明符有%s、%d、%f等。例如,`printf &quot;Hello, %s!\n&quot; &quot;World&quot;`会输出&quot;Hello, World!&quot;。配合字段宽度和对齐,可用于制作表格。在脚本中,printf常与循环和其它命令结合,实现复杂文本操作。
|
5月前
|
消息中间件 存储 Linux
linux实时应用如何printf输出不影响实时性?
本文探讨了Linux实时任务中为何不能直接使用`printf(3)`,并介绍了实现不影响实时性的解决方案。实时任务的执行时间必须确定且短,但`printf(3)`的延迟取决于多个因素,包括用户态glibc缓冲、内核态TTY驱动和硬件。为确保实时性,通常将非实时IO操作交给低优先级任务处理,通过实时进程间通信传递信息。然而,即使这样,`printf(3)`在glibc中的实现仍可能导致高优先级任务阻塞。Xenomai 3提供了一个实时的`printf()`实现,通过libcobalt库在应用编译链接时自动处理,预分配内存,使用共享内存和线程特有数据来提高效率和实时性。
78 0
linux实时应用如何printf输出不影响实时性?
|
5月前
|
缓存 Linux Windows
Linux下安装宋体以及微软雅黑字体-转PDF后不显示中文,以及中文乱码
Linux下安装宋体以及微软雅黑字体-转PDF后不显示中文,以及中文乱码
698 0
|
5月前
|
Ubuntu Linux Windows
Linux应用开发基础知识——LCD上的矢量字体Freetype(六)
Linux应用开发基础知识——LCD上的矢量字体Freetype(六)
275 0
Linux应用开发基础知识——LCD上的矢量字体Freetype(六)
|
Linux
kali linux修改终端字体颜色
kali linux修改终端字体颜色
318 0
|
存储 Linux C语言
深入解析Linux环境下的sprintf()和printf()函数
在C语言中,`sprintf()`和`printf()`函数是用于格式化输出的两个重要函数。`sprintf()`函数将格式化的数据写入一个字符串,而`printf()`函数则将格式化的数据输出到标准输出。在Linux环境中,这两个函数被广泛应用于各种编程任务。本文将详细介绍这两个函数的用法,包括格式化字符串的语法和一些常见的使用场景。
494 1
|
Linux Android开发
Linux字体推荐
Linux字体推荐以及各字体在不同Linux发行版中软件包的名称。
804 0
Linux字体推荐
|
存储 Linux
Linux下实现自己的printf函数
Linux下实现自己的printf函数
132 0
|
Linux 测试技术 Windows
freetype的交叉编译及在嵌入式linux上的简单使用及改变字体背景和颜色
freetype的交叉编译及在嵌入式linux上的简单使用及改变字体背景和颜色