C语言中的光标定位函数(将光标移动到屏幕的指定位置)

所谓的光标定位函数,就是实现键盘输入坐标值从而把鼠标的光标移动到相应坐标位置的函数模块,在简单的小游戏如贪吃蛇等需要定位输出的程序中有着较为广泛的应用。
而在用C语言实现光标定位的过程中,则需要从<windows.h>中调用已经封装好的结构体COORD来完成对坐标x,y的记录,调用HANDLE(封装好的结构体)来获得标准输出句柄;同样SetConsoleTextAttribute也是C语言中内置的函数用来移动光标的。

对于只管使用不问原理的萌新,以上均为废话

下面说一说光标函数的使用方法,先来一段光标函数的代码

void gotoxy(int x,int y)//光标定位函数
{COORD p;//定义结构体变量pHANDLE handle=GetStdHandle(STD_OUTPUT_HANDLE);//获取当前函数句柄p.X=x;p.Y=y;//将光标的目标移动位置传递给结构体SetConsoleCursorPosition(handle,p);//移动光标
}

程序示例

#include<stdio.h>
#include<windows.h>
void gotoxy(int x,int y)//光标定位函数
{COORD p;//定义结构体变量pHANDLE handle=GetStdHandle(STD_OUTPUT_HANDLE);//获取当前函数句柄p.X=x;p.Y=y;//将光标的目标移动位置传递给结构体SetConsoleCursorPosition(handle,p);//移动光标
}
main()
{gotoxy(45,8);printf("Nice to meet you!\n");return 0;
}

在上面的示例中,我们定义的x的值为45,y的值为8,那么光标就会先移动到第45列第8行的位置再执行下一步的打印指令,所以打印出来的内容在DOS框中的位置也就会改变(从(45,8)开始)。
所以说,只要改变gotoxy(x,y)中x,y的值,就可以在DOS框的任意位置输出内容啦。
运行结果

C语言中的光标定位函数相关推荐

  1. C语言中连续调用rand函数,返回值不变

    C语言中连续调用rand函数,返回值不变 最近用C语言随机函数编程发现了一个奇怪的现象: 简易版代码: #include<stdio.h> #include<stdlib.h> ...

  2. bind merge r 和join_R语言中的数据合并函数(merge,cbind和rbind)的使用

    R语言中的数据合并函数(merge,cbind和rbind)的使用-R语言中用cbind() 和rbind() 构建分块矩阵 1.merge函数 两个数据框拥有相同的时间或观测值,但这些列却不尽相同. ...

  3. 【C 语言】文件操作 ( C 语言中的文件操作函数 | 磁盘与内存缓冲区 | 缓冲区工作机制 )

    文章目录 一.C 语言中的文件操作函数 二.磁盘与内存缓冲区 三.缓冲区工作机制 一.C 语言中的文件操作函数 读取 文本文件 可以使用 getc , fgets , fscanf 函数 , 向 文本 ...

  4. f2py支持在fortran语言中调用其他Fortran函数或C代码或Python代码

    f2py支持在fortran语言中调用其他Fortran函数或C代码或Python代码 分类: Python Numpy_Scipy fortran MinGW_GCC_Boost f2py 2012 ...

  5. 【示例】C语言中利用数组存放函数指针

    C语言中利用数组存放函数指针,增加函数使用的灵活性.使用时只需提供数组索引,即可调用不同函数. 预备知识: 1.指向函数的指针 一个函数在编译时被分配一个入口地址,这个地址就被称为函数的指针. 例如: ...

  6. c语言编译时间,C语言中关于时间的函数

    C语言中关于时间的函数 C语言是一门通用计算机编程语言,应用广泛.C语言的设计目标是提供一种能以简易的方式编译.处理低级存储器.产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言.下面我们一 ...

  7. c语言 格式转换函数,C语言中的格式转换函数.doc

    C语言中的格式转换函数 C语言中的格式转换函数 表头文件 #include 定义函数 double atof(const char *nptr); 函数说明 atof()会扫描参数nptr字符串,跳过 ...

  8. 怎样设置一个函数C语言,C语言中怎样编写一个函数 如何在C语言中定义一个函数?...

    如何在C语言中定义一个函数?小编很想在你面前流泪最后却还是选择装作打个哈欠 为什么小编怎么定义函数都不正确呢? 总是说小编 表达语法错误在main函数中 小编们可以在头文件与main函数之间定义,并编 ...

  9. c语言中有裁剪字符串的函数吗,C语言中的字符串截取函数

    /*======================================================== 子数整数 源程序名 num.??? (pas,c,cpp) 可执行文件名 num. ...

最新文章

  1. jQuery操作input
  2. 汉诺塔的改编题(用栈求解,分别递归和非递归)
  3. 使用MetaPost绘制流程图
  4. 调整 Docker 中 nginx 的日志级别
  5. django07: 模板语言(旧笔记)
  6. java语言 爱我,语言篇:Java环境
  7. python里order_volume_Python 基础知识:Method Resolution Order (MRO) 和 super
  8. CentOS 6.5 install redis 3.0.7
  9. jmeter-01 JMeter HTTP测试的各元件功能演示示例
  10. 中兴通讯携MF30打造高速无线网络
  11. php 发邮件 上传附件,PHPMailer实现PHP的邮件发送,附带附件
  12. 浅谈电池和充电方面的知识
  13. Kerberos认证协议
  14. 台式机设置声音快捷键
  15. Android多线程断点续传下载原理及实现,移动开发工程师简历
  16. [python]计算miou的方式
  17. 华为eNSP模拟器的搭建
  18. Matlab函数学习---sum函数(计算矩阵、数组和向量元素总和)
  19. JS——mouseover和mouseenter的区别
  20. Python练手小项目(3)提取身份证信息(初级)

热门文章

  1. java安装_Java编程语言的历史和未来
  2. 威斯康星麦迪逊计算机专业排名,威斯康星大学麦迪逊分校计算机专业详解
  3. [牛客网] 电话号码
  4. 实时折线图php mysql 源码_超级漂亮网址导航源码,自助链源码(PHP+MYSQL完整版)...
  5. 现有大语言模型(ChatGPT)的上下文理解能力还是假象吗?
  6. ajax调用ajax_AJAX即将到来
  7. 二维码插件qrcode生成二维码信息
  8. 008 计算某一日是这一年的第几天
  9. 七彩虹将星X15 AT评测
  10. 区块链核心概念(1)