请选择 进入手机版 | 继续访问电脑版
贠老师培训群:150322713    贠老师QQ:767708506

贠老师office培训-excel学习网

 找回密码
 立即注册
点击咨询贠老师
查看: 284|回复: 9

[C语言] C语言编程中,怎样在屏幕上定位光标?

[复制链接]

3172

主题

3269

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
22893
发表于 2015-12-24 22:25:45 | 显示全部楼层 |阅读模式
C标准并没有提供在屏幕上定位光标的方法,其原因很多。C被设计成能在各种各样的计算机上工作,而其中的许多机型都有不同的屏幕类型。例如,在行式打印终端上,不能向上移动光标;一个嵌入式系统甚至也可能是用c编写的,而在它的应用场合可能根本就没有屏幕。

尽管这样,在屏幕上定位光标对你的程序来说还是有用的。你可能希望给用户一个吸引人的视觉效果,并且只能通过移动光标来实现;你还可能想用相应的输出命令尝试一点动画效果。尽管这方面没有标准的处理方法,但还是有好几种方法可以解决这个问题。

首先,编译程序的开发者会提供一个函数库,专门处理基于他们的编译程序的屏幕输出操作,其中肯定会有定位光标的函数。但是,很多人认为这是最差的解决办法,因为每一个开发商都可以自由地开发自己的实现方法,所以在一种编译程序上开发的程序,当移到另一种编译程序上时,几乎必然要重写,更别说移到另一种计算机上了。

其次,可以定义一套标准的库函数,并使编译程序的开发者在他的编译程序中实现这套函数。流行的Curses软件包就起源于这种思路。在大多数计算机和编译程序中都可以使用Curses,因此,用Curses实现屏幕输出的程序在大多数计算机和编译程序中都可以工作。

第三,你可以利用这样一个事实,即你想打印到其上的设备会用一种特定的方式解释你送过去的字符。终端(或屏幕)应设计成按一种标准方式去解释送给它们的字符,这就是ANSI标准。如果你认为你的计算机是遵循ANSI标准的,你就可以通过打印相应的字符来控制屏幕把光标定位在所需的位置上,并且可以把这种操作和其它操作组合在一起。
回复

使用道具 举报

2

主题

233

帖子

237

积分

中级会员

Rank: 3Rank: 3

积分
237
发表于 2016-1-9 17:32:49 | 显示全部楼层
佩服你,能发这么好的帖子,厉害
回复 支持 反对

使用道具 举报

1

主题

345

帖子

364

积分

中级会员

Rank: 3Rank: 3

积分
364
QQ
发表于 2016-1-15 19:14:19 | 显示全部楼层
能再解释的细节一些吗,具体的
回复 支持 反对

使用道具 举报

0

主题

969

帖子

50

积分

注册会员

Rank: 2

积分
50
发表于 2016-1-23 18:55:57 | 显示全部楼层
楼主不错
回复 支持 反对

使用道具 举报

0

主题

921

帖子

61

积分

注册会员

Rank: 2

积分
61
发表于 2016-8-30 10:10:02 | 显示全部楼层
顶顶
回复 支持 反对

使用道具 举报

0

主题

883

帖子

6

积分

注册会员

Rank: 2

积分
6
发表于 2016-12-18 16:10:28 | 显示全部楼层
希望楼主能够收集更多的资料,谢谢了!
回复 支持 反对

使用道具 举报

1

主题

887

帖子

7

积分

注册会员

Rank: 2

积分
7
发表于 2017-6-24 19:19:36 | 显示全部楼层
不错的平台,以后需要经常光顾!
回复 支持 反对

使用道具 举报

0

主题

969

帖子

50

积分

注册会员

Rank: 2

积分
50
发表于 2018-1-18 12:05:48 | 显示全部楼层
先收藏再学习,谢谢啦!
回复 支持 反对

使用道具 举报

8

主题

1035

帖子

88

积分

注册会员

Rank: 2

积分
88
发表于 2018-3-16 20:31:18 | 显示全部楼层
很不错的帖子,又学到了,力挺
回复 支持 反对

使用道具 举报

0

主题

883

帖子

6

积分

注册会员

Rank: 2

积分
6
发表于 2018-11-27 13:40:34 | 显示全部楼层
太给力啊 跪谢啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



陕ICP备15003731号  

贠老师培训 GMT+8, 2018-12-19 22:23 , Processed in 0.220709 second(s), 32 queries .

快速回复 返回顶部 返回列表