⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00000001.htm

📁 一份很好的linux入门资料
💻 HTM
📖 第 1 页 / 共 4 页
字号:
&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;各函式分别介绍如下:&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;□&nbsp;initscr()&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;initscr()&nbsp;&nbsp;是一般&nbsp;curses&nbsp;程式必须先呼叫的函数,&nbsp;一但这个函数&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;被呼叫之後,&nbsp;系统将根据终端机的形态并启动&nbsp;curses&nbsp;模式.&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;□&nbsp;endwin()&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;curses&nbsp;通常以呼叫&nbsp;endwin()&nbsp;来结束程式.&nbsp;&nbsp;endwin()&nbsp;可用来关闭&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;curses&nbsp;模式,&nbsp;或是暂时的跳离&nbsp;&nbsp;curses&nbsp;模式.如果您在程式中须要&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call&nbsp;shell&nbsp;(&nbsp;如呼叫&nbsp;system()&nbsp;函式&nbsp;)&nbsp;或是需要做&nbsp;system&nbsp;call,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;就必须先以&nbsp;&nbsp;&nbsp;endwin()&nbsp;&nbsp;&nbsp;暂时跳离&nbsp;&nbsp;&nbsp;curses&nbsp;&nbsp;模式.&nbsp;&nbsp;&nbsp;最後再以&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wrefresh()&nbsp;doupdate()&nbsp;来重返&nbsp;curses&nbsp;模式.&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;□&nbsp;cbreak()&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nocbreak()&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当&nbsp;cbreak&nbsp;&nbsp;模式被开启後,&nbsp;除了&nbsp;DELETE&nbsp;或&nbsp;CTRL&nbsp;等仍被视为特殊&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;控制字元外一切输入的字元将立刻被一一读取.当处於&nbsp;nocbreak&nbsp;模&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;式时,&nbsp;从键盘输入的字元将被储存在&nbsp;&nbsp;buffer&nbsp;里直到输入&nbsp;&nbsp;RETURN&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;或&nbsp;NEWLINE.在较旧版的&nbsp;curses&nbsp;须呼叫&nbsp;crmode(),nocrmode()&nbsp;来&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;取代&nbsp;cbreak(),nocbreak()&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;□&nbsp;nl()&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nonl()&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;用来决定当输入资料时,&nbsp;按下&nbsp;RETURN&nbsp;键是否被对应为&nbsp;NEWLINE&nbsp;字&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;元&nbsp;(&nbsp;如&nbsp;\n&nbsp;).&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;而输出资料时,&nbsp;NEWLINE&nbsp;&nbsp;字元是否被对应为&nbsp;&nbsp;RETURN&nbsp;和&nbsp;LINDFEED&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;系统预设是开启的.&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;□&nbsp;echo()&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;noecho()&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;此函式用来控制从键盘输入字元时是否将字元显示在终端机上.系统&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;预设是开启的.&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;□&nbsp;intrflush(win,bf)&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;呼叫&nbsp;intrflush&nbsp;时须传入两个值:&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;win&nbsp;为一&nbsp;WINDOW&nbsp;型态指标,&nbsp;通常传入标准输出入萤幕&nbsp;stdscr&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bf&nbsp;为&nbsp;TRUE&nbsp;或&nbsp;FALSE&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当&nbsp;bf&nbsp;为&nbsp;true&nbsp;时,&nbsp;当输入中断字元&nbsp;(&nbsp;如&nbsp;break)&nbsp;时,&nbsp;中断的反应&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;将较为快速.但可能会造成萤幕的错乱.&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;□&nbsp;keypad(win,bf)&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;呼叫&nbsp;keypad&nbsp;时须传入两个值:&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;win&nbsp;为一&nbsp;WINDOW&nbsp;型态指标,&nbsp;通常传入标准输出入萤幕&nbsp;stdscr&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bf&nbsp;为&nbsp;TRUE&nbsp;或&nbsp;FALSE&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当开启&nbsp;&nbsp;keypad&nbsp;後,&nbsp;可以使用键盘上的一些特殊字元,&nbsp;如上下左右&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;等方向键,&nbsp;curses&nbsp;会将这些特殊字元转换成&nbsp;curses.h&nbsp;内定义的一&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;些特殊键.&nbsp;这些定义的特殊键通常以&nbsp;KEY_&nbsp;开头.&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;□&nbsp;refresh()&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;refresh()&nbsp;为&nbsp;curses&nbsp;最常呼叫的一个函式.&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;curses&nbsp;为了使萤幕输出入达最佳化,&nbsp;当您呼叫萤幕输出函式企图改&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;变萤幕上的画面时,&nbsp;curses&nbsp;&nbsp;并不会立刻对萤幕做改变,&nbsp;&nbsp;而是等到&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;refresh()&nbsp;呼叫後,&nbsp;才将刚才所做的变动一次完成.&nbsp;&nbsp;其馀的资料将&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;维持不变.&nbsp;以尽可能送最少的字元至萤幕上.&nbsp;减少萤幕重绘的时间.&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果是&nbsp;initscr()&nbsp;後第一次呼叫&nbsp;&nbsp;refresh(),&nbsp;curses&nbsp;将做清除萤&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;幕的工作.&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;■&nbsp;游标的控制&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;move(y,x)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;将游标移动至&nbsp;x,y&nbsp;的位置&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getyx(win,y,x)&nbsp;&nbsp;得到目前游标的位置&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(请注意!&nbsp;是&nbsp;y,x&nbsp;而不是&nbsp;&amp;y,&amp;x&nbsp;)&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;■&nbsp;有关清除萤幕的函式&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clear()&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;erase()&nbsp;&nbsp;&nbsp;将整个萤幕清除&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(请注意配合refresh()&nbsp;使用)&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;■&nbsp;如何在萤幕上显示字元&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echochar(ch)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;显示某个字元&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addch(ch)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;显示某个字元&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mvaddch(y,x,ch)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在(x,y)&nbsp;上显示某个字元&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;相当於呼叫&nbsp;move(y,x);addch(ch);&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addstr(str)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;显示一串字串&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mvaddstr(y,x,str)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在(x,y)&nbsp;上显示一串字串&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;相当於呼叫&nbsp;move(y,x);addstr(str);&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printw(format,str)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;类似&nbsp;printf()&nbsp;,&nbsp;以一定的格式输出至萤幕&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mvprintw(y,x,format,str)&nbsp;&nbsp;在(x,y)&nbsp;位置上做&nbsp;printw&nbsp;的工作.&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;相当於呼叫&nbsp;move(y,x);printw(format,str);&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;■&nbsp;如何从键盘上读取字元&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getch()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;从键盘读取一个字元&nbsp;(注意!&nbsp;传回的是整数值)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getstr()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;从键盘读取一串字元&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanw(format,&amp;arg1,&amp;arg2...)&nbsp;&nbsp;&nbsp;如同&nbsp;scanf,&nbsp;从键盘读取一串字元&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;□例:&nbsp;<BR>&nbsp;<BR>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -