gpt4 book ai didi

C语言之实现控制台光标随意移动的实例代码

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章C语言之实现控制台光标随意移动的实例代码由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

原理引入windows.h,首先是要获得输入的东西,然后通过判断:

1、方向键:执行上下左右的移动功能 。

2 、回车键:执行换行的功能.

3、普通键:输入功能.

终点就是要获取到屏幕上的坐标,当按下了方向键以后,坐标值+1,或者减一,从而实现了光标的自由移动.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
//C语言实现控制台中光标随意移动
#include <stdio.h>
#include <windows.h>
#include <conio.h>
 
HANDLE hout;
//获得输入
char getInput()
{
   int ch; //输入字符串
   
   COORD coord; //屏幕上的坐标
   CONSOLE_SCREEN_BUFFER_INFO csbi; //控制台屏幕缓冲区信息
 
   coord.X=10;
   coord.Y=10;
 
   ch=getch();
 
   //0x0d表示回车,0XE0表示上下左右等键的键码
   while (ch==0xE0||ch==0x0d)
   {
     GetConsoleScreenBufferInfo(hout,&csbi);
     coord.X=csbi.dwCursorPosition.X; //得到坐标X的值
     coord.Y=csbi.dwCursorPosition.Y; //得到坐标Y的值
     //如果是回车
     if (ch==0x0d)
     {
       coord.X=0;
       coord.Y++;
       SetConsoleCursorPosition(hout,coord);
       break ;
     }
     ch=getch();
     //上
     if (ch==0x48)
     {
       if (coord.Y!=0)coord.Y--;
     }
     //下
     else if (ch==0x50)
     {
       coord.Y++;
     }
     //左
     else if (ch==0x4b)
     {
       if (coord.X!=0){coord.X--;}
     }
     //右
     else if (ch==0x4d)
     {
       if (coord.X!=79)coord.X++;
       else
       {
         coord.X=0;
         coord.Y++;
       }
     }
     SetConsoleCursorPosition(hout,coord);
     ch=getch();
   }
   return ch;
   }
int main()
{
   char ch;
   hout=GetStdHandle(STD_OUTPUT_HANDLE);
   //从键盘获取输入,如果是方向键则执行方向功能,如果是回车键则换行,如果是字符则输出
   while (1)
   {
     ch=getInput();
     printf ( "%c" ,ch);
   }
   getchar ();
}

C语言之实现控制台光标随意移动的实例代码

以上这篇C语言之实现控制台光标随意移动的实例代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我.

最后此篇关于C语言之实现控制台光标随意移动的实例代码的文章就讲到这里了,如果你想了解更多关于C语言之实现控制台光标随意移动的实例代码的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com