首页 / C语言 / C语言实现控制台中光标随意移动
C语言实现控制台中光标随意移动
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C语言实现控制台中光标随意移动,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1304字,纯文字阅读大概需要2分钟。
内容图文
![C语言实现控制台中光标随意移动](/upload/InfoBanner/zyjiaocheng/1163/df6f94dbca00421baf912a0e85373510.jpg)
开始准备学习下C,新手哦~~
今天弄了个控制台程序,光标可以随意在DOS下移动~~
先放一张效果图,不过很丑,大家能不能看懂,哈哈,就是
I Love You.
代码注释都有,其实好多东西我都是从其他地方拷贝了一些代码,毕竟是新手,还是需要多向网上的一些大神学习的。
原理就是引入windows.h,首先是要获得输入的东西,然后通过判断:
1.方向键:执行上下左右的移动功能
2:回车键:执行换行的功能。
3.普通键:输入功能。
终点就是要获取到屏幕上的坐标,当按下了方向键以后,坐标值+1,或者减一,从而实现了光标的自由移动。
下面放代码。
#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(); }
原文:http://www.cnblogs.com/kmsfan/p/3964810.html
内容总结
以上是互联网集市为您收集整理的C语言实现控制台中光标随意移动全部内容,希望文章能够帮你解决C语言实现控制台中光标随意移动所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。