精华内容
下载资源
问答
  • C语言光标定位与获取的代码
  • C语言初级, 光标定位源码C语言初级, 光标定位源码C语言初级, 光标定位源码
  • C语言中的光标定位函数

    千次阅读 多人点赞 2019-11-25 21:40:01
    C语言中的光标定位函数(将光标移动到屏幕的指定位置) 所谓的光标定位函数,就是实现键盘输入坐标值从而把鼠标的光标移动到相应坐标位置的函数模块,在简单的小游戏如贪吃蛇等需要定位输出的程序中有着较为广泛的...

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

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

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

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

    void gotoxy(int x,int y)//光标定位函数
    {
    	COORD p;//定义结构体变量p
    	HANDLE 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;//定义结构体变量p
    	HANDLE 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语言光标移动

    万次阅读 多人点赞 2018-05-07 19:55:07
    作为一个C语言入门者,刚开始编写程序时,都使用控制台程序。在控制台中,完成了一个又一个程序。渐渐发现控制台不方便了。控制台貌似只能,从上到下,从左到右的进行输出。如果进行页面设计就会发现,想在光标所处...



    1.引入

    作为一个C语言入门者,刚开始编写程序时,都使用控制台程序。在控制台中,完成了一个又一个程序。渐渐发现控制台不方便了。控制台貌似只能,从上到下,从左到右的进行输出。如果进行页面设计就会发现,想在光标所处位置的上方添加一些内容,该怎么办呢?


    2.解决方案

    能否解决这类问题呢?答案是当然的。
    直接添加如下的自定义函数。然后再需要光标移动时,直接调用就可以实现光标的移动。

    void goto_xy(int x, int y)//定位光标位置到指定坐标
    {   
        HANDLE hOut;
        hOut = GetStdHandle(STD_OUTPUT_HANDLE);
        COORD pos = { x,y };
        SetConsoleCursorPosition(hOut, pos);
    }

    ps 1:添加这个自定义函数,必须要声明Windows.h的头文件
    ps 2:使用时把它当做一个自定义函数,可以直接调用,传入的参数为相应的坐标
    ps 3:使用这个函数时,不会清除屏幕中相关的内容
    ps 4:光标移动后,再次输入时,如果原来位置有文字,会被覆盖掉


    3.浅析光标移动函数的原理


    a.句柄(HANDLE)

    • 在Windows程序中,有各种各样的资源(窗口、图标、光标等),系统在创建这些资源时会为它们分配内存,并返回标示这些资源的标示号,即句柄。
    • 句柄指的是一个对象在某一个进程中的唯一索引,而不是指针。由于地址空间的限制,句柄所标识的内容对进程是不可见的,只能由操作系统通过进程句柄列表来进行维护。

    在示例程序中HANDLE就是句柄数据类型。可以把对象的句柄赋给它。


    b.API函数

    • 操作系统除了协调应用程序的执行、内存分配、系统资源管理外,同时也是一个很大的服务中心,调用这个服务中心的各种服务(每一种服务是一个函数)。
    • 这些服务可以帮助应用程序达到开启视窗、描绘图形、使用周边设备的目的,由于这些函数服务的对象是应用程序(Application),所以称之为Application Programming Interface,简称API函数。

    Ps :我们刚刚讲到过,句柄不是指针,对进程不可见,只能由操作系统来进行操作。而这种操作就要使用API函数。

    • 程序员想编写具有Windows风格的软件,必须借助API,API也因此被赋予至高无上的地位。但是,如若没有合适的Windows编程平台,那么Windows开发是一项很复杂的工作。程序员必须熟记一大堆常用的API函数,而且还得对WINDOWS操作系统有深入的了解。
    • 在可视化编程IDE出来之后,在WINDOWS平台上出现了很多优秀的可视化编程环境,程序员可以采用“所见即所得”的编程方式来开发具有精美用户界面和功能强大的应用程序。也就是说可视化编程IDE封装了的API函数的集合,并提供了大量的类库和各种控件,它们替代了API的神秘功能。
    • 虽然类库和控件使应用程序的开发简单的多,但它们只提供WINDOWS的一般功能,对于比较复杂和特殊的功能来说,使用类库和控件是非常难以实现的,这时就需要采用API函数来实现。

    Ps :日常使用API的几率很小,所以API不用系统的去学,在需要的时候去查API帮助就足够了。

    ->在示例程序中GetStdHandle()就是一个API函数。
    它的作用是从一个特定的标准设备(标准输入、标准输出或标准错误)中取得一个句柄
    这里的句柄也可以理解为指光标停留位置的信息。

    含义
    STD_INPUT_HANDLE标准输入的句柄
    STD_OUTPUT_HANDLE标准输出的句柄
    STD_ERROR_HANDLE标准错误的句柄

    GetStdHandle()的几种参数


    c.COORD

    COORD是Windows API中定义的一种结构,表示一个字符在控制台屏幕上的坐标。

    typedef struct _COORD
    {
        SHORT X; 
        SHORT Y; 
    } COORD;

    COORD是一个结构体,表示一个坐标。定义包含在Windows.h的头文件里。


    d.SetConsoleCursorPosition()

    SetConsoleCursorPosition是一个实现光标的位置控制的计算机函数。

    它的两个参数为(光标句柄,COORD的结构体)
    作用是将光标句柄,移动到COORD指向的位置。

    展开全文
  • 本篇文章是对c语言光标定位与颜色设置的方法进行了详细的分析介绍,需要的朋友参考下
  • C语言光标定位

    千次阅读 2008-10-15 11:31:00
    void Goxy(int nX, int nY) {  HANDLE hCon;//定义一个句柄  hCon = GetStdHandle(STD_OUTPUT_HANDLE); //获得输出设备的句柄  COORD setps; //定义结构体变量  setps.X = nX;... //定位 }
    void Goxy(int nX, int nY) 
    {
        HANDLE   hCon;//定义一个句柄
        hCon = GetStdHandle(STD_OUTPUT_HANDLE);   //获得输出设备的句柄
        COORD   setps; //定义结构体变量
        setps.X = nX;   
        setps.Y = nY; 
        SetConsoleCursorPosition(hCon,setps);  //定位
    }
    展开全文
  • 能够用C语言实现asp.net中的暗文输入密码
  • C语言光标位置确定

    千次阅读 2019-09-15 15:05:48
    C语言生成光标位置 首先明白光标位置满足左上角xoy坐标轴 static void SetPoint (int x,int y) { COORD point =(x,y);//声明一个COORD类型变量,传入位置 HANDLE OutPoint = GetStdHandle(STD_OUTPUT_HANDLE);//...

    C语言生成光标位置
    首先明白光标位置满足左上角xoy坐标轴

    static void SetPoint (int x,int y)
    {
    	COORD point =(x,y);//声明一个COORD类型变量,传入位置
    	HANDLE OutPoint = GetStdHandle(STD_OUTPUT_HANDLE);//使用GetStdHandle(STD_OUTPUT_HANDLE)方法获取标准输出的句柄
    	SetConsoleCursorPosition(OutPoint, point);//设置光标位置
    }
    

    这样下次传入两个位置即可确定光标位置

    展开全文
  • C语言游戏必备:光标定位和颜色设置

    千次阅读 多人点赞 2012-12-12 12:26:50
    喜欢编写游戏的朋友们,你们有福了,这个资料足以让你玩转WINDOWS和Linux下的光标定位以及颜色,enjoy it。   一、WINDOWS: 1.光标定位函数: #include #include /****** 光标移到指定位置 ***********...
  • 良好的控制台游戏开端(光标定位) 使用Windows系统提供的系统函数进行处理,需调用windows.h头文件。 示例如下: // COORD是一个结构体,里面X表示行,Y表示列,与现实逻辑相反 COORD coord; coord.X = 3;//列 ...
  • 该代码解析基于个人理解基础,文档对代码进行了拆分解释,该中并不具有完整代码;...整体代码功能尚实现了在控制台上使用上下左右移动光标定位输出,代码基于C语言,不支持删除操作,功能有限,仅提供思路。
  • C语言 读取鼠标光标位置

    千次阅读 2018-05-18 22:42:16
    #include&lt;stdio.h&gt; #include&lt;windows.h&gt; //必要头文件 int main() { POINT q={0,0}; //不知道是个啥的东西 LPPOINT s=&amp;q; //大概是赋初值?  GetCursorPos(s);......
  • C语言实现屏幕定位

    千次阅读 2018-05-20 12:37:48
    C语言怎么实现这个呢,这里就用到了windows.h,通过windows.h实现将光标移动到窗口的特定位置打印出字符,从而形成一个看上去还不错的UI。 具体代码如下: #include "stdafx.h" #include&lt;...
  • 光标定位到文本框 window.onload=function(){ var uname = $("[name='uname']").val(); var pwd = $("[name='pwd']").val(); if(uname==""){ $("[name='uname']").focus(); } } window.onload方法表示页...
  • C语言实现控制台光标任意移动

    万次阅读 多人点赞 2018-03-04 11:05:57
    C语言编程实现控制台上光标的随意移动 上下左右方向键移动光标 回车键光标换行 普通键盘区输入字符 */ #include #include #include /* 定义一个句柄对象,虽然还没有看懂句柄到底是什么情况,但是我觉得这个...
  • 在window下有TC的conio的库和头文件以及一些系统函数,可以对控制台进行控制,如设置光标位置,改变字体颜色,清屏等等,在用C语言写一些小游戏,或者显示程序菜单时会很方便,但是这个库文件并不是标准的C语言库文件,在...
  • C++ 光标定位函数

    2020-01-29 15:09:24
    在C++显示中,我们想要光标出现在我们想要的位置,可以使用下面这段代码 HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);//定义显示器句柄变量,并且这个只能在每个头文件中单独定义句柄和函数,否则无效 void ...
  • 我以前的那个电脑比较大,是有小键盘的,那个电脑是使用Ctrl+End。 现在换了个电脑,比较小,没有了小键盘,方向键的右键->和End合并成了一个键,这个时候发现Ctrl+End不行了,需要使用Fn+End。...
  • C语言游戏的时候经常用到。现在分享给大家_ #include <windows.h> //包含windows.h库 void HideCursor() // 用于隐藏光标 { CONSOLE_CURSOR_INFO cursor_info = {1, 0}; // 第二个值为0表示隐藏光标 ...
  • #include <stdio.h> ...//隐藏光标 void hidden(){ HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_CURSOR_INFO cci; GetConsoleCursorInfo(hOut, &cci); cci.bVisible = F...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,368
精华内容 2,547
关键字:

c语言光标定位

c语言 订阅