zoukankan      html  css  js  c++  java
  • 改变 C/C++ 控制台程序的输出颜色和样式

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

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

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

    33[0m 关闭所有属性 
    33[1m 高亮
    33[2m 亮度减半
    33[3m 斜体
    33[4m 下划线
    33[5m 闪烁 (效果图中未显示)
    33[6m 快闪
    33[7m 反显
    33[8m 消隐
    33[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

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

    33[nA 光标上移n行
    33[nB 光标下移n行 
    33[nC 光标右移n行
    33[nD 光标左移n行
    33[y;xH设置光标位置
    33[2J 清屏
    33[K 清除从光标到行尾的内容
    33[s 保存光标位置
    33[u 恢复光标位置
    33[?25l 隐藏光标
    33[?25h 显示光标

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


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

    来源:https://billc.io/2019/03/stylish-output/

  • 相关阅读:
    带掩码的自编码器MAE详解和Pytorch代码实现
    联邦学习(Federated Learning)详解以及示例代码
    SIMILAR:现实场景中基于子模块信息度量的主动学习
    BERT 模型的知识蒸馏: DistilBERT 方法的理论和机制研究
    为什么 Pi 会出现在正态分布的方程中?
    快到周五了
    土豆
    忙碌的周末
    周五了
    写给妹妹的祝福语
  • 原文地址:https://www.cnblogs.com/AlanChen2k/p/stylish-output.html
Copyright © 2011-2022 走看看