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