龙空技术网

C语言学习:屏幕的任意位置输出字符

日常生活博客 510

前言:

如今朋友们对“点在c语言”大约比较看重,兄弟们都想要分析一些“点在c语言”的相关文章。那么小编同时在网摘上收集了一些对于“点在c语言””的相关资讯,希望兄弟们能喜欢,同学们一起来了解一下吧!

引言:

前几天我们用三天时间讲了用C语言写的小游戏-贪吃蛇。可谓是废了大力气。但是,我发现其中

很多人在第一步的时候就迷路了,简单的说,就是开发贪吃蛇游戏的第一步,在屏幕的任意位置输出字符。

有兴趣的可以查看我的前几篇文章,今天就有深度的研究一下如何在屏幕的任意位置输出字符。

开始:

初学编程的读者,肯定很想编写出一个游戏来秀一下,贪吃蛇就是C语言小游戏中经典的一个,

编写游戏的第一步就是搞定光标定位问题,这样你的程序就可以随心所欲、按任意顺序、在任意位置输出了。但是,C语言本身并不支持该功能,我们必须使用 Windows 提供的接口,所以要引入 windows.h 头文件。

因为用到了 Windows 操作系统的功能,所以本节的代码不能在 Linux 和 Mac OS 下运行。

所谓 Windows 接口,就是 Windows 这个操作系统本身提供的函数,它们都是以C语言的形式呈现的,只要我们引入了 windows.h 头文件,就可以调用这些函数,使用 Windows 提供的强大功能了。

因为涉及到了 Windows 编程,所以本节的内容不要求大家深入理解,能按照葫芦画瓢就可以,以后如果决定专攻 Windows 编程了,再来深入研究也不迟。

光标定位需要使用 windows.h 头文件中的SetConsoleCursorPosition函数,它的使用方式为:

SetConsoleCursorPosition(HANDLE hConsoleOutput, COORD dwCursorPosition);

hConsoleOutput表示控制台缓冲区句柄,可通过GetStdHandle(STD_OUTPUT_HANDLE)来获得;

dwCursorPosition是光标位置,也就是第几行第几列,它是 COORD 类型的结构体。

看不懂是吧?嗯,没关系,我知道大部分读者都看不懂,所以,照着葫芦画瓢吧。

例如,将光标定位到控制台的第3行第3列:

#include <stdio.h>

#include <windows.h>

int main(){

system("title 源世界Dracula出品");

COORD coord; //定义光标位置

coord.X = 3; //第3行

coord.Y = 3; //第3列

//获取控制台缓冲区句柄

HANDLE ConsoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);

//设置光标位置

SetConsoleCursorPosition(ConsoleHandle, coord);

printf("这里就是第三行第三列\n");

return 0;

}

运行结果:

注意:窗口的左上角是第 0 行第 0 列,而不是我们通常所认为的第 1 行第 1 列。编程语言中的很多计数都是从 0 开始的,而不是从 1 开始。

看到这里,很多初学者会不懂,甚至一头雾水,不过没关系,这里仅仅是演示,引起你对C语言的兴趣,待学完C语言的基本语法后会恍然大悟。

好了,今天就到这里了,想用C语言写点东西的就收藏好了。

欢迎订阅点赞,谢谢!

标签: #点在c语言