在Linux的编程里,管理列表的形式,我们可以使用VT100控制码来进行实现。因为VT100控制码在printf函数中就可以设置显示的行和列,这样实现一个列表选择的GUI界面就非常容易。比如Linux内核中的Make menuconfig。

我们可以看到像下面这样的GUI菜单式界面,这样的界面用Linux VT100控制码结合C语言是很容易就可以实现出来的。

那么,在Window上想要在控制台实现类似的功能,是否也可以做到呢?当然是可以的,Window控制台同样提供了实现这样的函数给开发者来进行使用。说到选择,那么选择就有上下左右四个方向,可以用键盘上的上下左右来进行控制选择。

如何读取对应的键值码呢?我们可以使用C语言的getch()函数获取。通过参考百度百科:https://baike.baidu.com/item/getch()/10996394

我们知道getch()的用法如下:

getch():
所在头文件:conio.h
函数用途:从控制台读取一个字符,但不显示在屏幕上
函数原型:int getch(void)
返回值:读取的字符
例如:
char ch;或int ch;
getch();或ch=getch();
用getch();会等待你按下任意键,再继续执行下面的语句;
用ch=getch();会等待你按下任意键之后,把该键字符所对

C语言实现一个Window控制台带彩色,且可以用方向键选择并确认的菜单式列表(一)相关推荐

  1. Verilog实现一个8位带进位全加器

    项目简介: 用Verilog语言实现一个8位带进位全加器.顶层采用结构描述的方法用8个1位全加器来实现一个8位带进位全加器,底层的1位全加器采用行为描述的方法来实现. 代码实现: /*-------- ...

  2. C语言Window控制台实现弹弹方块(单个方块,多个方块)

    前面,我们用C语言实现了列表时的学生信息管理系统,那么,window控制台还能做什么好玩的东西呢? http://blog.csdn.net/morixinguan/article/details/7 ...

  3. 运用HashMap和ArrayList打造一个简单的带文件的控制台学生管理系统(附上类及类方法的思维导图+控制台运行界面截图+源代码)

    文章目录: 一.本文由来 二.适合人群 三.类及类方法思维导图 四.控制台运行界面截图 五.项目源代码链接 六.后记 七.再回首 一.本文由来 今天是2020年1月23日.因为在2019年上半学期Ja ...

  4. [C语言] 制作一个控制台的电子时钟

    使用c语言制作一个控制台的电子时钟 学习了c语言基本语法后,在学习了time.h的库文件,让我产生了想制作一款电子时钟的念头,那好就开始动手操作吧. 使用到下面这些技术: 首先必须先导入库 /**** ...

  5. C语言下拉式菜单做出字体小,C语言下拉菜单设计-带源代码.ppt

    <C语言下拉菜单设计-带源代码.ppt>由会员分享,可在线阅读,更多相关<C语言下拉菜单设计-带源代码.ppt(30页珍藏版)>请在人人文库网上搜索. 1.C语言下拉菜单程序设 ...

  6. 怎样学好C语言,一个成功人士的心得!

    今天,我能够自称是一个混IT的人,并能以此谋生,将来大家能一次谋生,都要感谢两个人:克劳德.香农和约翰.冯.诺依曼,是他们发现了全部的数字化信息,不论是一段程序,一封email,一部电影都是用一连串的 ...

  7. 让shell终端和goland控制台输出彩色的文字

    让shell终端和goland控制台输出彩色的文字 版权声明:本文为 Elonjelinek 原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https ...

  8. 使用Java语言编写一个五子棋UI界面并实现网络对战功能(非局域网)

    使用Java语言编写一个五子棋UI界面并实现网络对战功能(非局域网) 一,前期准备 1,Java IDE(Eclipse)与JDK的安装与配置 jdk-15.0.1-免配置路径版 提取码:earu 免 ...

  9. 如何学好C语言,一个成功人士的心得!

    来源URL:http://blog.csdn.net/yxnk/article/details/5976699/ 今天,我能够自称是一个混IT的人,并能以此谋生,将来大家能一次谋生,都要感谢两个人:克 ...

最新文章

  1. 等待多个并发事件完成的模型
  2. [pytorch、学习] - 4.4 自定义层
  3. jacascript AJAX 学习
  4. ADO.Net中DataSete的应用
  5. 字符串匹配——C++使用Regex
  6. shell学习之突发奇想 ^_^ 打印9*9乘法表
  7. excel随机抽取_Python自制班级点名器让Excel表格用起来
  8. LaTeX(2)——LaTeX文档基本结构
  9. Vista下调整硬盘分区大小的方法
  10. oracle mysql 推荐书籍
  11. 三菱q系列plc连接电脑步骤_三菱plc连接电脑步骤
  12. Mac 电脑锁屏快捷方法
  13. 怎么利用企业微信营销 企业微信如何营销 企业微信如何维护好友 企业微信如何开通
  14. Python数据分析与处理(例题)
  15. 【科研】浅学Cross-attention?
  16. 编译安装Memcached
  17. 无线调试和unable to connect to 192.168.2.245:5555由于目标计算机积极拒绝,无法连接。 (10061)
  18. oracle 12.1.0.2版本对象ku$_user_view是失效状态的修复
  19. 从字节跳动投资互动百科,看搜索的形与神
  20. 第5章 Redis新类型

热门文章

  1. java char与int互相转换
  2. 【MYSQL的QA】
  3. 词向量与词向量拼接_中文字词向量和方面词向量联合嵌入情感分析方法与流程...
  4. How to identify – and avoid – travel photo ‘porn’
  5. exp()近似计算,exp快速算法,C语言实现exp
  6. VC GDI+ 字体的特效
  7. intellij最常用的快捷键和快速输入技巧
  8. 咨询问题?散光加近视怎么办?
  9. 模拟常见软件微信、钉钉、企业微信、飞书、淘宝、支付宝 的User Agent
  10. linux下mkdirs方法乱码,linux 解压zip中文乱码问题