博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
改变 C/C++ 控制台程序的输出颜色和样式
阅读量:4863 次
发布时间:2019-06-11

本文共 976 字,大约阅读时间需要 3 分钟。

我们经常可以看见Linux自带终端下的许多程序都输出了不同颜色和底纹的字体。最近也想要自己实现一下这种效果,方法是在输出流中插入占位符\033[***

我从网上收集了一些常用的控制语句,并用以下代码依次测试了一下效果:

#include 
using namespace std; int main(){ cout << "\033[2J\033[0;0H"; for (int i = 0; i < 129;i++){ printf("\033[%dm\\033[%dm)\033[0m\n", i, i); } }

\033[0m 关闭所有属性 

\033[1m 高亮
\033[2m 亮度减半
\033[3m 斜体
\033[4m 下划线
\033[5m 闪烁 (效果图中未显示)
\033[6m 快闪
\033[7m 反显
\033[8m 消隐
\033[9m 中间一道横线

https://billc.io/wp-content/uploads/2019/03/image.jpeg

31-37:设置前景色

41-47:设置背景色

(颜色在不同的终端中设置的ANSI颜色可能会有所不同)

https://billc.io/wp-content/uploads/2019/03/image-3.jpeg
https://billc.io/wp-content/uploads/2019/03/image-1.jpeg
https://billc.io/wp-content/uploads/2019/03/image-2.jpeg

90-106和31-37一样,也是用来设置颜色的,不过会更加明亮一些。

https://billc.io/wp-content/uploads/2019/03/image-4.jpeg

除此之外,还有以下常用命令:

\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 显示光标

在实际的使用的过程中,可以同时组合多种配置,并用分号分隔。比如\033[4;42m可以输出绿色背景并带有下划线的文字。通常也会连续使用命令,用\033[2J;0;0H可以清屏并将光标移到控制台左上角开始输出。


在实际的使用的过程中,可以同时组合多种配置,并用分号分隔。比如\033[4;42m可以输出绿色背景并带有下划线的文字。通常也会连续使用命令,用\033[2J;0;0H可以清屏并将光标移到控制台左上角开始输出。

 

来源:

转载于:https://www.cnblogs.com/BillChen2000/p/stylish-output.html

你可能感兴趣的文章
关于MySQL 通用查询日志和慢查询日志分析(转)
查看>>
自动化测试框架的搭建
查看>>
小学期--第三篇
查看>>
HDOJ 1864 最大报销额
查看>>
POJ 2823 Sliding Window(单调队列)
查看>>
HDU6130 签到题 打表
查看>>
HDU 3977 斐波那契循环节
查看>>
hashset hastable dictionary concurrentdictionary区别
查看>>
【转】PBR基于物理的渲染
查看>>
openlayers4官方例子学习---DAY2
查看>>
新的开始 | 我的第一篇博客
查看>>
第四章心得
查看>>
jQuery 获取父窗口的元素 父窗口 子窗口(iframe)
查看>>
VM安装OracleLinux
查看>>
如何提高PHP应用的性能
查看>>
Python-----带参数的装饰器以及补充
查看>>
用asp.net MVC3 简单实现毕业设计 (强转)
查看>>
ADB抓取日志和日志过滤
查看>>
20941输入输出系统
查看>>
使用 Flash 描述复杂的社交网络
查看>>