阅 读 文 章

curses开发包的man_page

[来源:网上转载 (http://www.chinaunix.net) | 作者:网友(johnsilver) | 时间:2007-05-27 | 浏览:人次 ]


这是第一篇,由于平时比较忙,所以只能利用晚上的时间来译,今后还会有其他的相关译出来.
  curses(S)
  *********
  ____________________________________________________________________________
curses-CRT屏幕处理与优化包
语法
  ======
  cc ... -lcurses
  #include <curses.h>;
描述
  ===========
  curses库例程为用户提供了一个独立于终端的、对更新字符屏幕进行合理优化的方法,使用这些例程的程序必须使用-lcurses选项进行编译。
curses包允许:
   o 全屏幕,窗口和光条操纵
   o 输出到窗口和光条
   o读取终端输入
   o控制终端与光标的输入和输出选项
   o环境查询例程
   o色彩操纵
   o使用软标签键
   o终端信息的存取
   o使用低级curses例程
  在使用任何一个处理窗口与屏幕的例程之前,必须调用initscr或newterm对例程进行初始化。
在退出前必须调用endwin例程。大多数交互的,面向屏幕的程序需要无回显的单字符输入,要达到此目的,要按以下顺序进行:
  cbreak()&#59;
  noecho()&#59;
也有多数程序会按这个顺序:
  nonl()&#59;
  intrflush(stdscr,FALSE)&#59;
  keypad(stdscr,TRUE)&#59;

在你运行一个curses()程序前,如果终端定义了tab键宽度,则必须对其进行设置并在初始化串中输出,你可以在shell环境变量TERM输出后用命令tput_init来设置。(参见terminfo(F)和terminfo(M)以获取详细信息)。
curses()库允许你操纵叫做窗口的数据结构,窗口可以看作是二维的字符数组。此例程库提供了一个默认的窗口stdscr,就是整个终端的大小。你可以用newwin()来创建其他的窗口。
窗口由声明为WINDOW *的变量来引用。这些数据结构的操纵由在cursesr 的帮助文件中描述的例程来进行(这些例程均以&quot;curs_&quot;开头)。其中最基本的例程是move()和addch()。库中包含了这些例程的更为通用的版本,可以让你指定一个窗口。
在例程完成对一个窗口的维护后,调用refresh()告诉curses()使用户的屏幕看上去更象stdscr.窗口中的字符实际上是chtype类型(包括字符和属性数据)以便将有关字符的其他信息与每个字符一同存贮.
叫做光条(pad)的窗口同样可以维护.他们也是一些窗口,但可能不与屏幕中的一个可视的区域相关联.参考cur_pad(S)可得到更多的信息.
除了在屏幕上显示字符以外,你也可使用视频属性和色彩,输出加下划线的字符,反显的图象,或在支持彩色模式的终端上显示彩色字符.你还可输出带有删除线的字符.(line-drawing是批带有删除线还是指用线条画出的字符?)对于输入,curses()也可将方向键和功能键的转义序列译为单独的键值.视频属性,划线字符和输入键名,在curses.h中定义,如A_REVERSE, ACS_HLINE, 和 KEY_LEFT.
curses()中也有操纵彩色数字字符终端上色彩显示的例程.使用时,要先调用start_color(),通常是在initscr()后马上调用.彩色通常成对使用,称为色彩对.一个色彩对有一个前景色(字符颜色)和一个背景色(字符在其上显示的区域的颜色).
你在使用时要用init_pair()例程对一个色彩对进行初始化.初始化后,就能象使用其他视频属性一样使用在curses.h中定义的一个宏COLOR_PAIR(n).如果终端可以重新定义彩色,那么以下的例程很有用处:
   o has_color根据终端是否支持彩色返回TRUE或FALSE.
论坛热门帖子: [lch203] 写得蛮好的linux学习笔记(10-21)
[黑马制造] 学习java的30个目标(10-19)
[笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19)
[udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18)
[沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18)
TAG标签: 开发 字符 一个 窗口 使用 curses 定义 终端 屏幕 回复

最新评论 共有0位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表

网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.chmhome.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.