C语言-设置控制台信息

Win_API

Win_API是Windows应用程序接口(Windows Application Programming Interface)的缩写,它是一组函数、系统服务和程序接口,允许开发者在微软Windows操作系统上创建应用程序。Win32 API 是Windows API的一个主要部分,它为Windows应用程序提供了一系列的函数调用,这些函数可以用来执行各种任务,比如创建和管理窗口、处理用户输入、绘制图形、访问文件系统、网络通信等。


Win32 API 是Windows操作系统的一个核心组件,它为C和C++等编程语言提供了丰富的接口,使得开发者能够利用这些接口来控制和管理Windows操作系统的各个方面。通过调用这些API函数,开发者可以轻松地实现与操作系统相关的复杂功能,而无需关心底层操作系统的具体实现细节。


Win32 API 包括了数千个函数,涵盖了从基本的数据类型和宏定义到复杂的窗口管理和用户界面设计的各个方面。这些API函数被组织成不同的库,如Kernel32.dll、User32.dll、Gdi32.dll等,每个库都包含了与特定功能相关的函数。开发者可以在应用程序中动态地加载这些库,并调用相应的API函数来实现所需的功能。


Win32 API 是Windows平台上软件开发的基础,几乎所有的Windows应用程序都会直接或间接地使用Win32 API。因此,对于Windows平台上的软件开发者来说,了解和掌握Win32 API 是非常重要的。

Windows这个多作业系统除了协调应用程序的执行、分配内存、管理资源之外,它同时也是一个很大
的服务中心,调用这个服务中心的各种服务(每一种服务就是一个函数),可以帮应用程序达到开启
视窗、描绘图形、使用周边设备等目的,由于这些函数服务的对象是应用程序(Application),所以便
称之为ApplicationProgrammingInterface,简称API函数。WIN32_API也就是Microsoft Windows
32位平台的应用程序编程接口

编译器界面窗口的设置

这里使用的是vs编译器

首先我们需要改变属性

这里说明一下,不管你是让windows决定,还是windows控制价台主机,这里都是可以的,

只要不是windows终端就可以

因为不同电脑有些让windows决定产生的效果和windows终端的效果是一样的,所以我们可以使用windows控制台主机,我这里选择的就是windows控制台主机

这里和电脑有点关系,不用担心

设置控制台的大小

设置控制台的程序的大小,我们可以使用windows命令,来控制编译器,只需要进行调用就可以

mode con cols=100 lines=30`mode con cols=100 lines=30` 是一个在DOS和Windows命令提示符(cmd.exe)中使用的命令,用于设置命令行窗口的大小。这个命令的作用是将命令行窗口的宽度和高度分别设置为100列和30行。
- `mode` 是命令行工具,用于配置系统设备的工作模式。
- `con` 指的是控制台(console),也就是命令行窗口。
- `cols=100` 指定命令行窗口的宽度为100个字符。
- `lines=30` 指定命令行窗口的高度为30行。
在Windows操作系统中,你可以通过打开命令提示符(cmd)并输入这个命令来改变窗口的大小。这个命令对于需要更多空间来查看文本输出或者进行文本操作的场合非常有用。

这里我们打开cmd演示一下

可以看到原本的大小

设置之后的大小,为了对比明显,我特地搞得小一点

system 

那么在编译器里面如果调用?并且设置控制台大小
我们只需要使用一个函数

语法格式

在C语言中,system 函数是一个库函数,用于执行宿主系统上的命令。这个函数声明在 stdlib.h 头文件中。它的原型如下:

int system(const char *command);

当你调用 system 函数时,它会将传递给它的字符串作为命令传给命令处理器(在Unix-like系统上是shell,在Windows上是cmd.exe),然后执行这个命令。函数的返回值依赖于具体的实现,但通常情况下,如果命令执行成功,它会返回0;如果执行失败,则会返回一个非零值。

此时我们也就是调用成功并且成功设置控制台大小了

如图

设置控制台的名字

设置控制台的名字也很简单,也一个cmd的使用

title + 名字

在编译器里面进行调用

封装一个控制台的函数

//设置控制台的相关属性
void set_Information()
{system("mode con cols=120 lines=35");system("title 贪吃蛇");
}

隐藏光标的属性 

目的

在编写贪吃蛇这样的文本模式游戏时,隐藏光标是一个常用的技巧,目的是为了提高用户体验和游戏的视觉表现。隐藏光标的属性目的主要包括以下几点:
1. **改善视觉效果**:

光标在屏幕上闪烁可能会分散玩家的注意力,尤其是在移动快速的贪吃蛇游戏中。隐藏光标可以让玩家更专注于游戏本身,而不是被光标干扰。


2. **避免混淆**:

在文本模式下,光标可能会与游戏中的字符混淆,尤其是当光标与游戏中的蛇或食物的字符颜色相同时。隐藏光标可以避免这种混淆,确保游戏的清晰度。


3. **保持游戏界面的整洁**:

贪吃蛇游戏通常有一个简洁的游戏界面,光标的存在可能会破坏这种简洁性。隐藏光标有助于保持游戏界面的整洁和统一。


4. **技术限制**:

在某些情况下,显示光标可能会影响游戏的刷新速度或响应时间。隐藏光标可以减少这种技术限制的影响,使得游戏运行更加流畅。


在C语言或其他编程语言中,通常会使用特定的系统调用来隐藏光标。例如,在Windows操作系统的命令行界面中,可以使用 `CONSOLE_CURSOR_INFO` 结构和 `GetConsoleCursorInfo` 和 `SetConsoleCursorInfo` 函数来隐藏或显示光标。在Linux或Unix系统中,可以使用终端控制序列来隐藏光标,例如在C语言中可以使用 `printf("\e[?25l")` 来隐藏光标,使用 `printf("\e[?25h")` 来显示光标。
隐藏光标是一个简单的步骤,但它可以提高贪吃蛇这类文本模式游戏的总体质量和玩家的游戏体验。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/7133.shtml

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

相关文章

Linux PXE高效批量网络装机

系统初始化 systemctl disable --now firewalld.service setenforce 0 vim /etc/selinux/config 安装软件 yum install -y tftp-server xinetd dhcp vsftpd syslinux 复制 vmlinuz initrd.img pxelinux.0 到 /var/lib/tftpboot/ 目录 [rootlocalhost ~]# cd /mnt/…

设计模式之业务代表模式

在编程江湖的风雨中漂泊多年,每当我遇到那些错综复杂的业务逻辑和系统交互,总有一个模式像一位忠诚的骑士,默默守护着我的代码城堡,那就是——业务代表模式(Business Delegate Pattern)。它不是最耀眼的明星…

C++ 如何进阶?

一、C基础(3个月) 1、面向对象的三大特性:封装、继承、多态 2、类的访问权限:private、protected、public 3、类的构造函数、析构函数、赋值函数、拷贝函数 4、移动构造函数与接贝构造函数对比 5、深接贝与浅贝的区别 6、空…

【C++语言】类和对象--默认成员函数 (中)

文章目录 前言类的六个默认成员函数:1. 构造函数概念特性做了什么?易错注意:显式定义和默认构造函数 2. 析构函数概念特征做了什么?注意事项: 3.拷贝构造函数概念特征做了什么?注意事项: 4.赋值运算符重载…

CellMarker | 人骨骼肌组织细胞Marker大全!~(强烈建议火速收藏!)

1写在前面 分享一下最近看到的2篇paper关于骨骼肌组织的细胞Marker&#xff0c;绝对的Atlas级好东西。&#x1f44d; 希望做单细胞的小伙伴觉得有用哦。&#x1f60f; 2常用marker&#xff08;一&#xff09; general_mrkrs <- c( MYH7, TNNT1, TNNT3, MYH1, MYH2, "C…

ComfyUI 基础教程(十三):ComfyUI-Impact-Pack 面部修复

SD的WebUI 中的面部修复神器 ADetailer,无法在ComfyUI 中使用。那么如何在ComfyUI中进行面部处理呢?ComfyUI 中也有几个面部修复功能,比如ComfyUI Impact Pack(FaceDetailer),以及换脸插件Reactor和IPAdapter。 ComfyUI-Impact-Pack 是一个功能强大的插件,专为 ComfyUI …

淘宝扭蛋机小程序开发:开启你的惊喜之旅

一、扭出新世界&#xff0c;惊喜不断 在这个充满无限可能的数字时代&#xff0c;淘宝扭蛋机小程序为你带来了一种全新的购物与娱乐体验。扭蛋机&#xff0c;这个充满童趣和惊喜的玩具&#xff0c;如今在我们的小程序中焕发出新的活力&#xff0c;为你带来一波又一波的惊喜与快…

【CTF Web】XCTF GFSJ0485 simple_php Writeup(代码审计+GET请求+PHP弱类型漏洞)

simple_php 小宁听说php是最好的语言,于是她简单学习之后写了几行php代码。 解法 &#xfeff;<?php show_source(__FILE__); include("config.php"); $a$_GET[a]; $b$_GET[b]; if($a0 and $a){echo $flag1; } if(is_numeric($b)){exit(); } if($b>1234){ech…

jquery项目 html使用export import方式调用模块

jquery的老项目&#xff0c;引入vue3, 需要方便使用export, import方式引用一些常用的方法与常量 导出模块 export js/numberUtil.js /*** Description:* Author Lani* date 2024/1/10*//* * 【金额】 保留2位小数&#xff0c;不四舍五入 * 5.992550 >5.99 , 2 > 2.…

【Kaggle】练习赛《洪水数据集的回归预测》(下)

前言 上篇《洪水数据集的回归预测》(上) 介绍了该数据集非常特殊之处&#xff0c;各特征都非常类似&#xff0c;没有特别之处&#xff0c;各特征之间的相关系数几乎为零。同时&#xff0c;各类模型不敏感&#xff0c;最理想的模型居然是线性回归&#xff0c;决定系数 R 2 R^2 …

64位Office API声明语句第118讲

跟我学VBA&#xff0c;我这里专注VBA, 授人以渔。我98年开始&#xff0c;从源码接触VBA已经20余年了&#xff0c;随着年龄的增长&#xff0c;越来越觉得有必要把这项技能传递给需要这项技术的职场人员。希望职场和数据打交道的朋友&#xff0c;都来学习VBA,利用VBA,起码可以提高…

达梦数据库导入数据问题

进行数据导入的时候遇到了导入数据问题 第一个问题&#xff1a; 该工具不能解析此文件&#xff0c;请使用更高版本的工具 这个是因为版本有点低&#xff0c;需要下载最新的达梦数据库 第二个问题&#xff1a; &#xff08;1&#xff09;本地编码&#xff1a;PG_GBK, 导入文…

全国31省对外开放程度、经济发展水平、ZF干预程度指标数据(2000-2022年)

01、数据介绍 自2000年至2022年&#xff0c;中国的对外开放程度不断深化、经济发展水平不断提高、ZF不断探索并调整自身在经济运行中的角色和定位&#xff0c;以更好地适应国内外环境的变化&#xff0c;也取得了举世瞩目的成就。这一期间&#xff0c;中国积极融入全球经济体系…

[机器学习-02] 数据可视化神器:Matplotlib和Seaborn工具包实战图形大全

目录 引言 正文 01-Matplotlib包的使用示例 1&#xff09;Matplotlib导入方式 2&#xff09;折线图绘制 3&#xff09;散点图绘制 4&#xff09;柱状图绘制 5&#xff09;饼图绘制 6&#xff09;等高线图绘制 7&#xff09;箱线图绘制 8&#xff09;较为复杂…

7zip如何只压缩文件不带上级目录?

在使用7zip进行文件压缩的时候&#xff0c;如果直接选择要压缩的文件进行压缩&#xff0c;得到的压缩包则会多包含一层顶层目录&#xff0c;解压缩之后需要点击两次才能进入到实际目录中&#xff0c;为了解决这个问题&#xff0c;本文根据探索找到了一种解决办法。 如下是一个演…

表空间的概述

目录 表空间的属性 表空间的类型 永久性表空间(PermanentTablespace) 临时表空间(Temp Tablespace ) 撤销表空间(Undo Tablespace) 大文件表空间(BigfileTablespace) 表空间的状态 联机状态(Online) 读写状态(Read Write) 只读状态(Read) 脱机状态(Offline) Oracle从…

Java_从入门到JavaEE_09

一、构造方法/构造器 含义&#xff1a;和new一起是创建对象的功能 特点&#xff1a; 与类名相同的方法没有返回项 注意&#xff1a; 当类中没有写构造方法时&#xff0c;系统会默认添加无参构造&#xff08;无参数的构造方法&#xff09;构造方法可以重载的 有参构造好处&…

透明加密软件选哪个好?选择时一定要注意以下三点

透明加密软件哪个好&#xff1f; 这是许多企事业单位在面临数据防泄漏问题时经常思考的问题。随着信息技术的发展&#xff0c;企业的数据安全变得越来越重要。透明加密技术作为一种有效的数据保护手段&#xff0c;被越来越多的企业所采用。然而&#xff0c;市场上的透明加密软…

Django高级表单处理与验证实战

title: Django高级表单处理与验证实战 date: 2024/5/6 20:47:15 updated: 2024/5/6 20:47:15 categories: 后端开发 tags: Django表单验证逻辑模板渲染安全措施表单测试重定向管理最佳实践 引言&#xff1a; 在Web应用开发中&#xff0c;表单是用户与应用之间进行交互的重要…

OpenHarmony实战开发-请求自绘制内容绘制帧率

对于基于XComponent进行Native开发的业务&#xff0c;可以请求独立的绘制帧率进行内容开发&#xff0c;如游戏、自绘制UI框架对接等场景。 接口说明 开发步骤 说明&#xff1a; 本范例是通过Drawing在Native侧实现图形的绘制&#xff0c;并将其呈现在NativeWindow上 1.定义Ark…