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

📄 6第六章:一些类似printw()的输出函数.htm

📁 curses界面编程
💻 HTM
📖 第 1 页 / 共 4 页
字号:
text-indent:21.0pt'><b><span lang=EN-US style='font-family:Tahoma'>addch(ch |A_BOLD | A_UNDERLINE);<o:p></o:p></span></b></p><p class=MsoNormal><span lang=EN-US style='font-family:Tahoma'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal style='margin-left:42.0pt;text-indent:-42.0pt;mso-text-indent-alt:-21.0pt;mso-list:l0 level2 lfo3;mso-list-change:\F06E simon 20040205T2000;tab-stops:list 42.0pt'><![if !supportLists]><span lang=EN-US style='font-family:Wingdings;mso-fareast-font-family:Wingdings;mso-bidi-font-family:Wingdings'><spanstyle='mso-list:Ignore'>n<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></span><![endif]><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>使用像</span><spanlang=EN-US style='font-family:Tahoma'>attrset()</span><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>、</span><span lang=EN-US style='font-family:Tahoma'>attron()</span><spanstyle='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>、</span><span lang=EN-US style='font-family:Tahoma'>attroff()</span><spanstyle='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>这样的<b><span class=msoIns><ins cite="mailto:simon"datetime="2004-02-05T20:07">属性</ins></span>函数</b><span class=msoIns><inscite="mailto:simon" datetime="2004-02-05T20:07">属性</ins></span>。这些函数将在<b><spanclass=msoIns><ins cite="mailto:simon" datetime="2004-02-05T20:07">属性</ins></span></b>一章介绍。<spanclass=msoIns><ins cite="mailto:simon" datetime="2004-02-05T20:12">简而言之,</ins></span>它们<spanclass=msoIns><ins cite="mailto:simon" datetime="2004-02-05T20:12">用当前</ins></span><spanclass=msoIns><ins cite="mailto:simon" datetime="2004-02-05T20:13">的</ins></span><spanclass=msoIns><ins cite="mailto:simon" datetime="2004-02-05T20:07">属性</ins></span><spanclass=msoIns><ins cite="mailto:simon" datetime="2004-02-05T20:13">处理给定</ins></span>窗口中的内容。一旦设置<spanclass=msoIns><ins cite="mailto:simon" datetime="2004-02-05T20:13">完成</ins></span>(</span><spanlang=EN-US style='font-family:Tahoma'>attrset()</span><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>函数被调用),<span class=msoIns><ins cite="mailto:simon"datetime="2004-02-05T20:14">在相应</ins></span>窗口中输出<span class=msoIns><inscite="mailto:simon" datetime="2004-02-05T20:14">的</ins></span>字<spanclass=msoIns><ins cite="mailto:simon" datetime="2004-02-05T20:16">符</ins></span>全部都会被关联相应的属性。直到关闭<spanclass=msoIns><ins cite="mailto:simon" datetime="2004-02-05T20:07">属性</ins></span>(<spanclass=msoIns><ins cite="mailto:simon" datetime="2004-02-05T20:15">调用</ins></span></span><spanlang=EN-US style='font-family:Tahoma'>attroff()</span><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>函数<span class=msoIns><ins cite="mailto:simon"datetime="2004-02-05T20:15">)</ins></span>为止<span class=msoIns><inscite="mailto:simon" datetime="2004-02-05T20:15">。</ins></span></span><spanlang=EN-US style='font-family:Tahoma'><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:Tahoma'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:Tahoma'>CURSES</span><spanstyle='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>又提供了一些可以在字符模式下作图的特殊字符。你可以用它们绘制表格、或者水平、垂直<spanclass=msoIns><ins cite="mailto:simon" datetime="2004-02-05T20:17">线</ins></span>条等等。你可以在头文件</span><spanlang=EN-US style='font-family:Tahoma'>ncurses.h</span><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>中找到所有这些特殊字符。这些特殊字符字符以宏的形式声明,这些宏都以</span><span lang=EN-USstyle='font-family:Tahoma'>ACS_</span><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>开头。</span><spanlang=EN-US style='font-family:Tahoma'><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:Tahoma'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><b><span lang=EN-US style='font-size:12.0pt;font-family:Tahoma'>6.2. mvaddch(), waddch() </span></b><b><span style='font-size:12.0pt;font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>和</span></b><b><span lang=EN-US style='font-size:12.0pt;font-family:Tahoma'>mvwaddch()</span></b><b><span style='font-size:12.0pt;font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>函数</span></b><b><span lang=EN-US style='font-size:12.0pt;font-family:Tahoma'><br></span></b><b><span style='font-size:12.0pt;font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>(</span></b><b><spanlang=EN-US style='font-size:12.0pt;font-family:Tahoma'>mvaddch(), waddch() andmvwaddch()</span></b><b><span style='font-size:12.0pt;font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>)</span></b><b><span lang=EN-US style='font-size:14.0pt;mso-bidi-font-size:12.0pt;font-family:Tahoma'><o:p></o:p></span></b></p><p class=MsoNormal><span lang=EN-US style='font-family:Tahoma'>mvaddch()</span><spanstyle='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>被用来将光标移动到指定位置然后输出字符。因而,下面的函数<span class=msoIns><inscite="mailto:simon" datetime="2004-02-05T20:32">调用</ins></span>:</span><spanlang=EN-US style='font-family:Tahoma'><o:p></o:p></span></p><p class=MsoNormal style='margin-left:21.0pt;mso-para-margin-left:2.0gd'><b><spanlang=EN-US style='font-family:Tahoma'>move(row,col);</span></b><spanlang=EN-US style='font-family:Tahoma'><span style='mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>/*</span><spanstyle='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>将光标移动到</span><span lang=EN-US style='font-family:Tahoma'>row</span><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>所指定的行和</span><spanlang=EN-US style='font-family:Tahoma'>col</span><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>所指定的列。</span><span lang=EN-US style='font-family:Tahoma'>*/<o:p></o:p></span></p><p class=MsoNormal style='margin-left:21.0pt;mso-para-margin-left:2.0gd'><b><spanlang=EN-US style='font-family:Tahoma'>addch(ch);<o:p></o:p></span></b></p><p class=MsoNormal><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>可以<span class=msoIns><inscite="mailto:simon" datetime="2004-02-05T20:33">用</ins></span>以下的函数调用取代。它们是等价的:</span><spanlang=EN-US style='font-family:Tahoma'><o:p></o:p></span></p><p class=MsoNormal style='margin-left:21.0pt;mso-para-margin-left:2.0gd'><b><spanlang=EN-US style='font-family:Tahoma'>mvaddch(row,col,ch);<o:p></o:p></span></b></p><p class=MsoNormal><span lang=EN-US style='font-family:Tahoma'>waddch()</span><spanstyle='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>函数和</span><span lang=EN-US style='font-family:Tahoma'>addch()</span><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>函数类似。区别在于,</span><spanlang=EN-US style='font-family:Tahoma'>waddch()</span><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>函数将字符输出到<span class=msoIns><ins cite="mailto:simon"datetime="2004-02-05T20:35">给</ins></span>定窗口<span class=msoIns><inscite="mailto:simon" datetime="2004-02-05T20:35">的指定坐标处</ins></span>。(注:</span><spanlang=EN-US style='font-family:Tahoma'>addch()</span><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>将字符输出到标准输出</span><span lang=EN-US style='font-family:Tahoma'>stdscr</span><spanstyle='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>上。)</span><span lang=EN-US style='font-family:Tahoma'><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:Tahoma'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>同样的</span><spanlang=EN-US style='font-family:Tahoma'>mvwaddch()</span><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>函数是在指定的窗口中将光标移动到窗口中指定位置然后输出字符。</span><span lang=EN-US style='font-family:Tahoma'><o:p></o:p></span></p><p class=MsoNormal><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>现在,我们了解了一些基本的输出函数。但是,如果我们要输出字符串,像这样一个字符一个字符输出是很烦人的。幸好,</span><spanlang=EN-US style='font-family:Tahoma'>CURSES</span><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>为我们提供了和类似</span><span lang=EN-US style='font-family:Tahoma'>printf()</span><spanstyle='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>和</span><span lang=EN-US style='font-family:Tahoma'>puts()</span><spanstyle='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>函数一样方便的函数。</span><span lang=EN-USstyle='font-family:Tahoma'><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:Tahoma'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><b><span lang=EN-US style='font-size:12.0pt;font-family:Tahoma'>6.3. printw()</span></b><b><span style='font-size:12.0pt;font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>函数集(</span></b><b><span lang=EN-US style='font-size:12.0pt;font-family:Tahoma'>printw() class of functions</span></b><b><span style='font-size:12.0pt;font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>)</span></b><b><span lang=EN-US style='font-size:12.0pt;font-family:Tahoma'><o:p></o:p></span></b></p><p class=MsoNormal><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>这些函数很像</span><spanlang=EN-US style='font-family:Tahoma'>printf()</span><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>函数,但加入了可以在屏幕任意位置输出的能力。</span><span lang=EN-US style='font-family:Tahoma'><o:p></o:p></span></p><p class=MsoNormal style='margin-left:10.5pt;mso-para-margin-left:1.0gd'><b><spanlang=EN-US style='font-family:Tahoma'><o:p>&nbsp;</o:p></span></b></p><p class=MsoNormal style='margin-left:10.5pt;mso-para-margin-left:1.0gd'><st1:chsdateIsROCDate="False" IsLunarDate="False" Day="30" Month="12" Year="1899" w:st="on"><b><span lang=EN-US style='font-family:Tahoma'>6.3.1</span></b></st1:chsdate><b><spanlang=EN-US style='font-family:Tahoma'>. printw()</span></b><b><spanstyle='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>函数和</span></b><b><span lang=EN-USstyle='font-family:Tahoma'>mvprintw()</span></b><b><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>函数(</span></b><b><span lang=EN-US style='font-family:Tahoma'>printw()and mvprintw</span></b><b><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>)</span></b><b><spanlang=EN-US style='font-family:Tahoma'><o:p></o:p></span></b></p><p class=MsoNormal style='margin-left:10.5pt;mso-para-margin-left:1.0gd'><spanlang=EN-US style='font-family:Tahoma'>printw()</span><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>函数的用法绝大部分和</span><span lang=EN-US style='font-family:Tahoma'>printf()</span><spanstyle='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>函数相同。</span><span lang=EN-US style='font-family:Tahoma'>mvprintw()</span><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>函数将光标移动到指定的位置然后打印内容。</span><spanlang=EN-US style='font-family:Tahoma'><o:p></o:p></span></p><p class=MsoNormal style='margin-left:10.5pt;mso-para-margin-left:1.0gd'><spanlang=EN-US style='font-family:Tahoma'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal style='margin-left:10.5pt;mso-para-margin-left:1.0gd'><st1:chsdateIsROCDate="False" IsLunarDate="False" Day="30" Month="12" Year="1899" w:st="on"><b><span lang=EN-US style='font-family:Tahoma'>6.3.2</span></b></st1:chsdate><b><spanstyle='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>.</span></b><b><span lang=EN-US style='font-family:Tahoma'>wprintw() </span></b><b><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>函数和</span></b><b><spanlang=EN-US style='font-family:Tahoma'> mvwprintw</span></b><b><spanstyle='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>函数</span></b><b><span lang=EN-US style='font-family:Tahoma'><br></span></b><b><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>(</span></b><b><spanlang=EN-US style='font-family:Tahoma'>wprintw() and mvwprintw()</span></b><b><spanstyle='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>)</span></b><b><span lang=EN-US style='font-family:Tahoma'><o:p></o:p></span></b></p><p class=MsoNormal style='margin-left:10.5pt;mso-para-margin-left:1.0gd'><spanstyle='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>这两个函数和以上两个函数类似。区别在于这两个函数将在指定的窗口输出的内容。而以上两个函数将内容输出到标准输出</span><spanlang=EN-US style='font-family:Tahoma'>stdscr</span><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>上。</span><span lang=EN-US style='font-family:Tahoma'><o:p></o:p></span></p><p class=MsoNormal style='margin-left:10.5pt;mso-para-margin-left:1.0gd'><spanlang=EN-US style='font-family:Tahoma'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal style='margin-left:10.5pt;mso-para-margin-left:1.0gd'><st1:chsdateIsROCDate="False" IsLunarDate="False" Day="30" Month="12" Year="1899" w:st="on"><b><span lang=EN-US style='font-family:Tahoma'>6.3.3</span></b></st1:chsdate><b><spanlang=EN-US style='font-family:Tahoma'>. vwprintw()</span></b><b><spanstyle='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>函数(</span></b><b><span lang=EN-USstyle='font-family:Tahoma'>vwprintw()</span></b><b><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>)</span></b><b><span lang=EN-US style='font-family:Tahoma'><o:p></o:p></span></b></p><p class=MsoNormal style='margin-left:10.5pt;mso-para-margin-left:1.0gd'><spanstyle='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>这个函数和</span><span lang=EN-US style='font-family:Tahoma'>vprintf()</span><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>相似。它用于打印变量表中所对应的变量。</span><spanlang=EN-US style='font-family:Tahoma'><o:p></o:p></span></p><p class=MsoNormal style='margin-left:10.5pt;mso-para-margin-left:1.0gd'><spanlang=EN-US style='font-family:Tahoma'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal style='margin-left:10.5pt;mso-para-margin-left:1.0gd'><st1:chsdateIsROCDate="False" IsLunarDate="False" Day="30" Month="12" Year="1899" w:st="on"><b><span

⌨️ 快捷键说明

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