在学习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;

LINUX下printf输出字体的特效的更多相关文章

  1. Linux下printf函数显示不同的颜色(转)

    Linux下printf函数显示不同的颜色 在学习Linux网络编程的时候做一个聊天系统,当时为了界面更漂亮点,于是搜索了下关于printf()函数的用法,给printf的输出加上些特效比如颜色,可以 ...

  2. Linux下添加windows字体

    在Linux下使用wqy字体,在视觉效果上就已近很好了,其实没有必要添加windows字体.但是显然有些人(比如领导,^..^)就喜欢宋体.楷体,所以添加windows字体有时还是需要的,幸运的是这件 ...

  3. Linux 下安装中文字体

    本文以安装黑体为例,简单演示如何在Linux下安装中文字体. 环境信息介绍 [root@thatsit ~]# cat /etc/redhat-release CentOS Linux release ...

  4. linux下printf函数为什么不加\n就不能输出相关的内容 ?

    转载请注明出处:http://blog.csdn.net/qq_26093511/article/details/53255970 原因:  输出缓冲区的问题. unix上标准输入输出都是带有缓存的, ...

  5. linux下printf打印带颜色的字符串

    转载:http://blog.chinaunix.net/uid-28917424-id-3889917.html 前不久就在某位同学的博客里看到,但是今天找了好久没找到,就直接google了,现贴出 ...

  6. Linux下安装中文字体

    目录 一.Centos系列 二.Ubuntu系列 一.Centos系列 1.安装字体库 yum -y install fontconfig 2.添加中文字体,建立存储中文字体的文件夹 mkdir /u ...

  7. Linux下printf、fprintf、sprintf的区别

    (1)fprintf() int fprintf( FILE *stream, const char *format, ... );   用于文件操作,根据指定的format(格式)发送信息(参数)到 ...

  8. linux下wps的字体缺失解决方法

    可以参考Mr.Liang 说明:当安装好wps for linux,然后打开wps会提示字体缺失,可做如下操作: 1.下载wps缺失字体(资源侵权联系我删除) 2.解压 unzip -d ./wps_ ...

  9. Linux下printf格式符%d、%lld、%llx、%u等【转自CSDN博客】

    来源:http://blog.csdn.net/anycell/article/details/6966520 %d 有符号32位整数 %lld 有符号64位证书 %llx有符号64位16进制整数 % ...

随机推荐

  1. 树莓派用U盘安装系统

    * 需要使用Raspbian / Raspbian Lite或更高版本的2017-04-10版本 *不会SD卡装系统? 1.  先用装好Raspbian系统的SD卡启动 在命令行输入    echo ...

  2. C++复制、压缩文件夹

    之前写过一篇用zlib库来压缩的,但zlib只能压缩文件,我需要压缩文件夹,要想压缩文件夹还得利用zlib库自己写代码,我是真的服了,一个开源库这么不好用. C++复制文件夹也是麻烦事,网上这篇文章: ...

  3. require和require_once的区别

    require 的使用方法如 require("./inc.php"); .通常放在 PHP 程式的最前面,PHP 程式在执行前,就会先读入 require 所指定引入的档案,使它 ...

  4. NIO基础篇(一)

    1.NIO与传统IO的比较 Java的NIO(New IO)是不同于旧IO的,旧的IO是基于字节流和字符流的,是阻塞的IO.NIO是基于通道(Channel)和缓冲区(Buffer)的,是非阻塞的IO ...

  5. BZOJ 3160: 万径人踪灭 [fft manacher]

    3160: 万径人踪灭 题意:求一个序列有多少不连续的回文子序列 一开始zz了直接用\(2^{r_i}-1\) 总-回文子串 后者用manacher处理 前者,考虑回文有两种对称形式(以元素/缝隙作为 ...

  6. vue2.0之render函数

    虽然vue推荐用template来创建你的html,但是在某些时候你也会用到render函数. 虚拟DOM Vue 通过建立一个虚拟 DOM 对真实 DOM 发生的变化保持追踪.请近距离看一下这行代码 ...

  7. Java并发(一)——线程安全的容器(上)

    Java中线程安全的容器主要包括两类: Vector.Hashtable,以及封装器类Collections.synchronizedList和Collections.synchronizedMap: ...

  8. 如何用vue-cli初始化一个vue项目

    单文件组件和vue-loader 解析打包.vue文件 vue为了能够使我们在项目开发中对组件进行更好的维护,提供了一个单文件组件系统,vue把每一个独立的组件放在一个.vue的文件中,在这个文件中提 ...

  9. Sourcetree的安装与使用

    1 安装遇到的问题 https://segmentfault.com/q/1010000007643870 解决该问题的方法: http://www.jianshu.com/p/3478e2a214a ...

  10. PHP输出打印方法

    PHP这门语言灵活而充满众多的API和用法,然而在这个技术领域里却缺乏一些系统的总结归纳.或许这与PHP语言的诞生方式有关,衍生,快速变化,原始限制等等,诸多因素决定这门语言变得smarty,却没有人 ...