我们不一样①

news/2024/11/24 4:22:11/

我们不一样①

从hello world开始

别人的hello world​​请添加图片描述

我们的hello world请添加图片33描述

代码展示

#include <stdio.h>
int main(){printf("\033[31mhello world\033[0m"); getchar();return 0;
} 

此处用了 ANSI转义序列

ANSI转义序列是一种带内信号的转义序列标准,用于控制视频文本终端上的光标位置、颜色和其他选项。在文本中嵌入确定的字节序列,大部分以ESC转义字符和[字符(\033[)开始,终端会把这些字节序列解释为相应的指令,而不是普通的字符编码。

ANSI转义序列

字符渲染序列(SGR)

字符渲染序列用来描述此序列之后的字符在终端中的呈现格式. 它采用字母 m 作为结尾. 在中间的 code 部分, 可以使用 ;>分号来分隔不同的样式码.
它的形式类似于 x1b[31;43m\033[31;43m , 这样的 CSI 也被称为 Select Graphic Rendition (SGR) 序列.
大多数终端支持 4 bit 色彩与 8 种样式:

前景色代码

F_BLACK = 30
F_RED = 31
F_GREEN = 32
F_YELLOW = 33
F_BLUE = 34
F_PURPLE = 35
F_LIGHTBLUE = 36
F_WHITE = 37

背景色代码

B_BLACK = 40
B_RED = 41
B_GREEN = 42
B_YELLOW = 43
B_BLUE = 44
B_PURPLE = 45
B_LIGHTBLUE = 46
B_WHITE = 47

效果代码

X_NULL = 0 # 清空
X_BOLD = 1 # 加粗
X_LIGHT = 2 # 浅色
X_ITALIC = 3 # 斜体
X_UNDERLINE = 4 # 下划线
X_BLINK = 5 # 闪烁
X_NEGA = 7 # 负片
X_TRANSPARENT = 8 # 透明

例如 printf(“\033[31;43mhello world\033[0m”); 将会呈现为黄底红字的 Hello World.
请添加图片描述
在末尾的\033 x1b[0m 将会清空样式, 由于 CSI 将会影响之后的所有输出, 如果不清空的话, 会导致之后的所有输出都具有此样式.

有些终端可接受 8 bit 256 色, 这被称作 “True Color”, 现代终端模拟器甚至可以支持 24bit 颜色,
已经是标准的图像颜色支持了.
24bit 色彩使用 RGB 序列, 以这样的形式输出:
\033[38;2;r;g;bm 前景色
\033[48;2;r;g;bm 背景色
示例不是很清楚,要仔细看看:请添加图片描述

光标移动序列

转义序列 作用
CSIA 光标向上移动 n 行
CSIB 光标向下移动 n 行
CSIC 光标向前移动 n 列
CSID 光标向后移动 n 列
CSI;H 光标移动到第 n 行, 第 m 列
请添加图片描述
清屏指令
CSIcJ 清空屏幕, 当 c 为: 0: 清空光标以下区域 1: 清空光标以上区域 2: 清空全部
CSIcK 清空行, 当 c 为: 0: 清空光标之后区域 1: 清空光标之前区域 2: 清空整行

使用宏可以方便控制。(仅仅用前景色举例),也可以用函数实现
请添加图片描述

思考练习

1.画出俄罗斯方块的所有形状。

截图来源 23物联网工程1班 陈天翔请添加图片描述

2.一个运动的火车

请添加图片描述


​​


http://www.ppmy.cn/news/1166510.html

相关文章

autoware.ai中检测模块lidar_detector caffe

lidar_apollo_cnn_seg_detect模块&#xff1a;该模块主要是调用百度apollo的目标分割。 1.需要安装caffe进行实现: caffe安装步骤&#xff1a; git clone https://github.com/BVLC/caffecd caffe && mdkir build && cd buildcmake ..出现报错&#xff1a; CM…

【试题031】C语言关系运算符和逻辑非例题

1.题目&#xff1a; 设int p;&#xff0c;与if(p0)等价的是 () A if(p) B if(!p) if(p1) Dif(p!0) 2.分析&#xff1a; [ ] if中的条件是p0为真&#xff0c;也就是说p0[ ] 那么&#xff01;p1,逻辑非就是将结果取反的操作[ ] p0也就是p≠1 3.截图&#xff1a;

Linux 进程操作

文章目录 进程的基本知识进程pid进程常用的函数 forkwait和waitpidexec函数簇system函数信号处理signal函数Linux的SIGUSR1SIGUSR2 讨论 进程的基本知识 一个程序的执行称为一个进程&#xff0c;所有的代码都是在进程中执行的&#xff0c;进程是操作系统资源分配的基本单位。 在…

高校教务系统登录页面JS分析——华南农业大学

高校教务系统密码加密逻辑及JS逆向 本文将介绍高校教务系统的密码加密逻辑以及使用JavaScript进行逆向分析的过程。通过本文&#xff0c;你将了解到密码加密的基本概念、常用加密算法以及如何通过逆向分析来破解密码。 本文仅供交流学习&#xff0c;勿用于非法用途。 一、密码加…

多测师肖sir_高级金牌讲师___ui自动化之selenium001

一、认识selenium &#xff08;1&#xff09;selenium是什么&#xff1f; a、selenium是python中的一个第三方库 b、Selenium是一个应用于web应用程序的测试工具&#xff0c;支持多平台&#xff0c;多浏览器&#xff0c;多语言去实现ui自动化测试&#xff0c;我们现在讲的Sel…

网络代理技术与安全防护

随着互联网的蓬勃发展&#xff0c;网络安全问题日益凸显&#xff0c;而网络代理技术作为一种重要的保障手段&#xff0c;正发挥着越来越关键的作用。本文将深入探讨Socks5代理、IP代理以及它们在网络安全防护、爬虫应用和HTTP传输中的实际应用。 Socks5代理与SK5代理&#xff…

贝锐花生壳+Fooocus,快速自建可远程访问的SDXL,平替Midjourney

Midjourney、stable diffusion两款AI绘图工具是最近这段时间的热点。不过&#xff0c;事无完美&#xff0c;他们各有一些优缺点。 例如&#xff1a;stable diffusion虽然开源可私有化部署&#xff0c;但操作相对复杂&#xff0c;需要设置各类参数&#xff1b;Midjourney虽然简单…

evilhiding:一款好用的shellcode免杀工具

文章目录 evilhiding工具浅析项目地址用法免杀测试声明 evilhiding shellcode loader,bypassav,免杀工具&#xff0c;一款基于python的shellcode免杀加载器 工具浅析 远控条件触发防沙箱花指令干扰loader和shellcode进行fernet加密触发器混淆干扰特征码自动刷新ico图片的md5…