首页 > 系统相关 >C++-改变终端(cout/printf)输出不同颜色的字体-Linux

C++-改变终端(cout/printf)输出不同颜色的字体-Linux

时间:2023-04-29 18:22:20浏览次数:107  
标签:cout 背景 Linux C++ 设置 printf 033 光标

C++-改变终端(cout/printf)输出不同颜色的字体-Linux

https://blog.csdn.net/qq_41972382/article/details/90311102

不同颜色的输出主要依据格式ESC[*mESC的八进制为\033*可以是多个属性的组合,用隔开。

printf

#include <iostream>
using namespace std;
int main()
{
    printf("\033[**31m**红色\033[**0m**");
    return 0;
}

其中: 31m:字体为红色; 0m:关闭所有属性。

cout

#include <iostream>
using namespace std;
int main()
{   
    cout  << "\033[32m修改\033[0m"<< endl ;
    return 0;
}

常用的ANSI控制码

\033[0m 关闭所有属性
\033[1m 高亮
\033[2m 亮度减半
\033[3m 斜体
\033[4m 下划线
\033[5m 闪烁
\033[6m 快闪
\033[7m 反显
\033[8m 消隐
\033[9m 中间一道横线
10-19 关于字体的
21-29 基本与1-9正好相反
30-37 设置前景色
40-47 设置背景色
30:黑
31:红
32:绿
33:黄
34:蓝色
35:紫色
36:深绿
37:白色
38 打开下划线,设置默认前景色
39 关闭下划线,设置默认前景色
40 黑色背景
41 红色背景
42 绿色背景
43 棕色背景
44 蓝色背景
45 品红背景
46 孔雀蓝背景
47 白色背景
48 不知道什么东西
49 设置默认背景色
50-89 没用
90-109 又是设置前景背景的,比之前的颜色浅
\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 显示光标

标签:cout,背景,Linux,C++,设置,printf,033,光标
From: https://www.cnblogs.com/yongchao/p/17364336.html

相关文章

  • C++-标准异常`<exception>`
    C++-标准异常<exception>std::exception定义于头文件<exception>classexception;https://www.apiref.com/cpp-zh/cpp/error/exception.html标准库头文件<stdexcept>https://www.apiref.com/cpp-zh/cpp/header/stdexcept.htmlstd::exceptionstd::bad_allocs......
  • 浅谈Linux发展史
    今天,与大家渐渐分享一下Linux的发展史。在开始之前我们首先得了解一下Linux是什么?答案很简单,相信对它感兴趣的你,已经了解到它是一个操作系统。好了,我们进入本次的正题,Linux的发展史。大家有了解过世界上的第一台计算机吗?它的名字叫埃尼阿克,诞生于1946年2月14日,被用于计算导弹的弹......
  • C++用new创建的对象和不用new创建的对象的区别
     在C++中,使用new关键字来创建对象时,与不使用new关键字来创建对象时,会产生以下几个区别:内存管理:使用new关键字来创建对象时,由编译器来决定分配内存的方式,这样可以更有效地利用内存资源。而不使用new关键字来创建对象时,则需要手动分配内存,可能会浪费一些内存资源。对象生命周期......
  • 我刚才用了dynamic_cast 你给我普及一下C++ 中这几种类型转换吧
    我刚才用了dynamic_cast你给我普及一下C++中这几种类型转换吧在C++中,有几种类型转换的方式,包括:隐式转换在一些情况下,编译器会自动进行类型转换。比如将整型变量赋值给浮点型变量,编译器就会自动将整型变量转换为浮点型变量。但是在大多数情况下,使用隐式转换可能会引起一些问......
  • linux 内核抢占
    什么是内核抢占呢?周期性时钟中断:对于用户任务,当每个时钟中断到来后都会检查它的实际运行时间是否超过理想运行时间,或者运行队列中有没有优先级更高的进程,一般如果满足其中一个条件就会设置重新调度标志,然后在中断返回用户态的前夕发生调度,这是所谓的用户任务抢占。但是如果处于一......
  • Linux设备驱动开发详解
    Linux内核系列文章Linux内核设计与实现深入理解Linux内核Linux设备驱动程序Linux设备驱动开发详解文章目录Linux内核系列文章前言一、待续前言  本文主要用来摘录《Linux设备驱动开发详解第四版》一书中学习知识点,本书基于Linux4.0版本,源代码摘录基于Linux4.15.18......
  • 4-28打卡c++ string容器
    1#include<iostream>2#include<string>3usingnamespacestd;4//assign5voidtest01()6{7stringstr1;8//截取三个字符9str1.assign("hello,world",3);10//从第三个字符开始截取4个字符11str1.assign("hello,worl......
  • RHEL8Vim与Shell命令脚本-Linux就该这么学4
       本章介绍如何使用Vim编辑器来编写和修改文档,然后通过逐步配置主机名称、系统网卡以及软件仓库等文件,加深Vim编辑器中诸多命令、快捷键与模式的理解;能够在Shell脚本中以多种方式接收用户输入的信息,能够对输入值进行文件、数字、字符串的判断比较。在熟练使用“与、或......
  • Linux系统的远程管理
    10.1远程管理简介“运筹帷幄之中,决胜千里之外”远程管理含义远程管理方式10.2终端方式的字符界面远程管理10.2.1Telnet方式安装Telnet程序在Linux主机中启动Telnet服务(基于xinetd下)systemctlstarttelnet.socketsystemctlstartxinetd服务开机自行启动systemctlen......
  • Linux/Win/MacOS系统 安装JDK(Java)教程,JDK下载
    JDK下载安装与环境变量配置图文详细教程,Window、Linux和MacOS(M1)系统安装jdk教程。我的世界(Minecraft)开服教程:https://blog.zeruns.tech/tag/mc/性价比高的服务器/VPS推荐:https://blog.zeruns.tech/archives/383.html什么是JDK?SUN公司提供了一套Java开发环境,简称JDK(JavaDevelopm......