我们不一样①

我们不一样①

从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.mzph.cn/news/112168.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【electron】实战技巧(持续更新,不要错过喔)

▒ 目录 ▒ &#x1f6eb; 导读需求开发环境 1️⃣ nvm处理多node环境避免node版本切换指定32位/64位 2️⃣ 常用node库npm-run-all&#xff08;脚本运行工具&#xff09;cross-env&#xff08;配置环境变量&#xff09;dotenv&#xff08;配置文件&#xff09;minimist&#x…

Apollo中的身份验证与授权:保护你的数据

前言 「作者主页」&#xff1a;雪碧有白泡泡 「个人网站」&#xff1a;雪碧的个人网站 「推荐专栏」&#xff1a; ★java一站式服务 ★ ★ React从入门到精通★ ★前端炫酷代码分享 ★ ★ 从0到英雄&#xff0c;vue成神之路★ ★ uniapp-从构建到提升★ ★ 从0到英雄&#xff…

关于 Delphi 11.3跨平台开发Android调用 JNI JAR java 的说明和注意事项

关于 调用 JNI JAR 的说明和注意事项&#xff0c;调用第三方 JAR SDK 和 翻译 安卓 JAVA 代码 的说明 V2017.10.18 (* ************************************************ *) (*                         *) (*                  …

模拟器-雷电-使用adb push或adb pull操作文件

一、环境 windows 10 雷电模拟器4.0.83 二、问题 有时候我们会需要往模拟器拷贝文件或者复制文件到我的电脑 三、方法 1、获取root权限 adb root adb remount 有可能遇到【daemon not running; starting now at tcp:5037】的报错 查看端口占用进程&#xff1a;netstat -…

Linux--进程终止

1.进程退出场景 进程退出场景只有三种&#xff1a; 代码运行完毕&#xff0c;结果正确代码运行完毕&#xff0c;结果错误代码在运行期间异常中断&#xff0c;退出进程 比如&#xff1a;对于错误的进程&#xff0c;可以通过不同的返回值来确定&#xff0c;什么是错误码呢&#x…

腾讯云 CODING 快速应用中心,让您 10 分钟轻松玩转 AIGC

点击链接了解详情 前言 AI 时代已经到来&#xff0c;与其说这是一个技术变革&#xff0c;不如说这是对我们工作和生活方式的全面升级。很多人已经听说过 Stable Diffusion AI 绘图和 Meta 公司推出的免费大语言模型 Llama 2&#xff0c;它们代表了当今最前沿的技术水平。但对于…

idea2023配置maven

看过【黑马程序员Maven全套教程&#xff0c;maven项目管理从基础到高级&#xff0c;Java项目开发必会管理工具maven】https://www.bilibili.com/video/BV1Ah411S7ZE?p9&vd_sourceedf9d91e5a0a27db51e3d6d4b9400637 配置的&#xff0c;前提要素配置也在这个课程里有啦&…

华为OD DNA序列(100分)【java】A卷+B卷

华为OD统一考试A卷+B卷 新题库说明 你收到的链接上面会标注A卷还是B卷。目前大部分收到的都是B卷。 B卷对应20022部分考题以及新出的题目,A卷对应的是新出的题目。 我将持续更新最新题目 获取更多免费题目可前往夸克网盘下载,请点击以下链接进入: 我用夸克网盘分享了「华为O…

目标检测网络系列——YOLOV3

文章目录 YOLO3的改进点针对区域中包含重叠物体的改进Class PredictionBounding Box Prediction更牛逼的网络结构:Dartnet53多尺度预测性能其他工作YOLO V3的论文篇幅比较短,感觉比较随意,和一般论文最大的区别就是把对比实验去掉了,在摘要和论文的最后说到YOLO3是一个好的…

红队专题-从零开始VC++C/S远程控制软件RAT-MFC-[4]客户端与服务端连接

红队专题 招募六边形战士队员服务端编写新建工程server函数创建主线程类获取配置信息运行command 命令头文件里创建引用win32 类库/头文件startsocket 开始监听 类函数添加类StartSocketmysend/myrecv 设置 m_sockCommon 头文件MSGINFO_S 结构体 ThreadMain头文件runflag 启动 …

面试准备(2023 1019 ,广州安kw)

软链接与硬链接的区别。 相同点 链接解决的痛点都是要解决数据访问时候的路径重定向的问题。 不同点 软连接顾名思义&#xff0c;他只是一个链接&#xff0c;目标就是指向源文件&#xff0c;能够访问源文件。软连接可以跨文件系统。而硬链接不行。 硬链接的链接直接链接的…

15-bean生命周期,循环依赖

文章目录 1. bean生命周期 1. bean生命周期

数据挖掘原理与算法

一、什么是闭合项集? Close算法对Apriori算法的改进在什么地方? 闭合项集&#xff1a;就是指一个项集x&#xff0c;它的直接超集的支持度计数都不等于它本身的支持度计数。 改进的地方&#xff1a; 改进方向&#xff1a; 加速频繁项目集合的生成&#xff0c;减少数据库库的扫…

【SA8295P 源码分析 (三)】97 - QNX AIS Camera 框架介绍 及 Camera 工作流程分析

【SA8295P 源码分析】97 - QNX AIS Camera 框架介绍 及 Camera 工作流程分析 一、QNX AIS Server 框架分析二、QNX Hypervisor / Android GVM 方案介绍三、Camera APP 调用流程分析四、QCarCam 状态转换过程介绍五、Camera 加串-解串 硬件链路分析六、摄像头初始化检测过程介绍…

290_C++_截取的一部分FTP视频上传代码,任务信息中读取视频帧数据并将其提供给 libcurl 用于上传。

1、这些结构体和枚举类型的设计是为了在上传过程中有效地存储和传递不同类型的任务信息,以便在上传操作中使用这些信息来管理和跟踪不同类型的上传任务。它们提供了不同类型上传任务所需的特定信息和状态变量 enum UploadTaskType {UTT_Common,UTT_Video };struct UploadInfo…

大模型、实时需求推动湖仓平台走向开放

大模型、实时需求高涨 AGI 时代&#xff0c;以 ChatGPT、Midjourney 等为代表的大模型迅速应用加速了 AI 普及&#xff0c;越来越多的企业选择搭建自己的 AI 基础设施&#xff0c;训练行业大模型。 另一方面&#xff0c;企业为了在瞬息万变的市场环境中更快的做出商业决策&…

php消息推送

使用PHP来实现消息推送功能 - 学新通 (swvq.com) Workerman是一款运行在PHP环境下的高性能的异步事件驱动框架&#xff0c;由著名PHP框架YII的作者王盼创建。该框架通过使用PHP socket扩展实现了对WebSocket的支持&#xff0c;并在此基础上实现了处理TCP/UDP协议的能力。 下面…

【C++】命名空间和using namespace std的注意事项

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;个人主页 &#xff1a;阿然成长日记 …

分享一下怎么开发一个陪诊小程序

开发一个陪诊小程序需要综合考虑许多方面&#xff0c;包括但不限于市场需求、用户体验、技术实现和运营策略。以下是一篇以开发陪诊小程序为主题的文章。 一、背景介绍 随着社会的发展和人口老龄化的加剧&#xff0c;越来越多的老年人、病患和孕妇需要就医&#xff0c;而由于各…

【分布式】入门级NCCL多机并行实践 - 02

# 背景知识 大模型和分布式训练对数据的吞吐量以及并行度都有很高的要求&#xff0c;NCCL就是在这个背景下诞生的。 如果你是一个只会写写Python&#xff0c;调用PyTorch和Horovod的算法萌新&#xff0c;可能对于分布式底层的东西不太了解&#xff0c;在下岗热潮中被主管逼着…