📄 7第七章:一些类似scanw()函数的输出函数.htm
字号:
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-USstyle='font-size:12.0pt;font-family:Tahoma'>mvwscanw()</span></b><b><spanstyle='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-USstyle='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'>wscanw() and mvwscanw()</span></b><b><spanstyle='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-USstyle='font-size:12.0pt;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'><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> </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-size:12.0pt;font-family:Tahoma'>7.2.3</span></b></st1:chsdate><b><spanlang=EN-US style='font-size:12.0pt;font-family:Tahoma'>. vwscanw()</span></b><b><spanstyle='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-USstyle='font-size:12.0pt;font-family:Tahoma'>vwscanw()</span></b><b><spanstyle='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-USstyle='font-size:12.0pt;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><span lang=EN-US style='font-family:Tahoma'><o:p> </o:p></span></p><h3><span lang=EN-US>7.3. getstr()</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>函数集(</span><spanlang=EN-US>getstr() class of functions</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>)</span></h3><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'>getch()</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%20Zhan"datetime="2004-02-10T21:47">换行符</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> </o:p></span></p><h3><st1:chsdate IsROCDate="False" IsLunarDate="False" Day="30" Month="12"Year="1899" w:st="on"><span lang=EN-US>7.4. </span><span style='font-family: 宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>一</span></st1:chsdate><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>些例子(</span><span lang=EN-US>Some examples</span><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>)</span></h3><p class=MsoNormal><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'>4</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'>scanw()</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'><o:p></o:p></span></b></p><p class=MsoNormal><b><span lang=EN-US style='font-family:Tahoma'><o:p> </o:p></span></b></p><p class=MsoNormal><span class=inlinemediaobject><b><span lang=EN-USstyle='font-family:Tahoma'>#include <ncurses.h><span style='mso-tab-count:3'> </span>/*ncurses.h </span></b></span><span class=inlinemediaobject><b><spanstyle='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>已经包含了</span></b></span><spanclass=inlinemediaobject><b><span lang=EN-US style='font-family:Tahoma'>stdio.h*/<span style='mso-spacerun:yes'> </span><o:p></o:p></span></b></span></p><p class=MsoNormal><span class=inlinemediaobject><b><span lang=EN-USstyle='font-family:Tahoma'>#include <string.h> <o:p></o:p></span></b></span></p><p class=MsoNormal><span class=inlinemediaobject><b><span lang=EN-USstyle='font-family:Tahoma'><span style='mso-spacerun:yes'> </span><o:p></o:p></span></b></span></p><p class=MsoNormal><span class=inlinemediaobject><b><span lang=EN-USstyle='font-family:Tahoma'>int main()<o:p></o:p></span></b></span></p><p class=MsoNormal><span class=inlinemediaobject><b><span lang=EN-USstyle='font-family:Tahoma'>{<o:p></o:p></span></b></span></p><p class=MsoNormal style='margin-left:21.0pt;mso-para-margin-left:2.0gd'><spanclass=inlinemediaobject><b><span lang=EN-US style='font-family:Tahoma'><spanstyle='mso-spacerun:yes'> </span>char mesg[]="Enter a string: ";</span></b></span><spanclass=inlinemediaobject><span lang=EN-US style='font-family:Tahoma'>/* </span></span><spanclass=inlinemediaobject><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>将要被打印的字符串信息</span></span><spanclass=inlinemediaobject><span lang=EN-US style='font-family:Tahoma'> */<b><o:p></o:p></b></span></span></p><p class=MsoNormal style='margin-left:21.0pt;mso-para-margin-left:2.0gd'><spanclass=inlinemediaobject><b><span lang=EN-US style='font-family:Tahoma'><spanstyle='mso-spacerun:yes'> </span>char str[80];<o:p></o:p></span></b></span></p><p class=MsoNormal style='margin-left:21.0pt;mso-para-margin-left:2.0gd'><spanclass=inlinemediaobject><b><span lang=EN-US style='font-family:Tahoma'><spanstyle='mso-spacerun:yes'> </span>int row,col;<span style='mso-tab-count:4'> </span><spanstyle='mso-tab-count:1'> </span></span></b></span><spanclass=inlinemediaobject><span lang=EN-US style='font-family:Tahoma'>/* </span></span><spanclass=inlinemediaobject><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>存储行号和列号的变量,用于指定光标位置</span></span><spanclass=inlinemediaobject><span style='font-family:Tahoma'> <span lang=EN-US>*/<o:p></o:p></span></span></span></p><p class=MsoNormal style='margin-left:21.0pt;mso-para-margin-left:2.0gd'><spanclass=inlinemediaobject><b><span lang=EN-US style='font-family:Tahoma'><spanstyle='mso-spacerun:yes'> </span>initscr();<span style='mso-tab-count:4'> </span><spanstyle='mso-tab-count:2'> </span></span></b></span><spanclass=inlinemediaobject><span lang=EN-US style='font-family:Tahoma'>/* </span></span><spanclass=inlinemediaobject><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>进入</span></span><spanclass=inlinemediaobject><span lang=EN-US style='font-family:Tahoma'>curses</span></span><spanclass=inlinemediaobject><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>模式</span></span><spanclass=inlinemediaobject><span style='font-family:Tahoma'> <span lang=EN-US>*/<o:p></o:p></span></span></span></p><p class=MsoNormal style='margin-left:21.0pt;mso-para-margin-left:2.0gd'><spanclass=inlinemediaobject><b><span lang=EN-US style='font-family:Tahoma'><spanstyle='mso-spacerun:yes'> </span>getmaxyx(stdscr,row,col);<spanstyle='mso-tab-count:2'> </span></span></b></span><spanclass=inlinemediaobject><span lang=EN-US style='font-family:Tahoma'>/* </span></span><spanclass=inlinemediaobject><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>取得</span></span><spanclass=inlinemediaobject><span lang=EN-US style='font-family:Tahoma'>stdscr</span></span><spanclass=inlinemediaobject><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>的行数和列数</span></span><spanclass=inlinemediaobject><span style='font-family:Tahoma'> <span lang=EN-US>*/<b><o:p></o:p></b></span></span></span></p><p class=MsoNormal style='margin-left:185.35pt;mso-para-margin-left:2.0gd;text-indent:-164.35pt;mso-char-indent-count:-15.59'><spanclass=inlinemediaobject><b><span lang=EN-US style='font-family:Tahoma'><spanstyle='mso-spacerun:yes'> </span>mvprintw(row/2,(col-strlen(mesg))/2,"%s",mesg);<spanstyle='mso-tab-count:1'> </span><br></span></b></span><span class=inlinemediaobject><span lang=EN-USstyle='font-family:Tahoma'>/*</span></span><span class=inlinemediaobject><spanstyle='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>在屏幕的正中打印字符串</span></span><spanclass=inlinemediaobject><span lang=EN-US style='font-family:Tahoma'>mesg */<b><o:p></o:p></b></span></span></p><p class=MsoNormal style='margin-left:21.0pt;mso-para-margin-left:2.0gd'><spanclass=inlinemediaobject><b><span lang=EN-US style='font-family:Tahoma'><o:p> </o:p></span></b></span></p><p class=MsoNormal style='margin-left:21.0pt;mso-para-margin-left:2.0gd'><spanclass=inlinemediaobject><b><span lang=EN-US style='font-family:Tahoma'><spanstyle='mso-spacerun:yes'> </span>getstr(str);<span style='mso-tab-count:5'> </span></span></b></span><spanclass=inlinemediaobject><span lang=EN-US style='font-family:Tahoma'>/* </span></span><spanclass=inlinemediaobject><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>将指针</span></span><spanclass=inlinemediaobject><span lang=EN-US style='font-family:Tahoma'>str </span></span><spanclass=inlinemediaobject><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>指向读取的字符串</span></span><spanclass=inlinemediaobject><span lang=EN-US style='font-family:Tahoma'> */<b><o:p></o:p></b></span></span></p><p class=MsoNormal style='margin-left:21.0pt;mso-para-margin-left:2.0gd'><spanclass=inlinemediaobject><b><span lang=EN-US style='font-family:Tahoma'><spanstyle='mso-spacerun:yes'> </span>mvprintw(LINES - 2, 0, "You Entered:%s", str);<o:p></o:p></span></b></span></p><p class=MsoNormal style='margin-left:21.0pt;mso-para-margin-left:2.0gd'><spanclass=inlinemediaobject><b><span lang=EN-US style='font-family:Tahoma'><spanstyle='mso-spacerun:yes'> </span>getch();<o:p></o:p></span></b></span></p><p class=MsoNormal style='margin-left:21.0pt;mso-para-margin-left:2.0gd'><spanclass=inlinemediaobject><b><span lang=EN-US style='font-family:Tahoma'><spanstyle='mso-spacerun:yes'> </span>endwin();<o:p></o:p></span></b></span></p><p class=MsoNormal style='margin-left:21.0pt;mso-para-margin-left:2.0gd'><spanclass=inlinemediaobject><b><span lang=EN-US style='font-family:Tahoma'><o:p> </o:p></span></b></span></p><p class=MsoNormal style='margin-left:21.0pt;mso-para-margin-left:2.0gd'><spanclass=inlinemediaobject><b><span lang=EN-US style='font-family:Tahoma'><spanstyle='mso-spacerun:yes'> </span>return 0;<o:p></o:p></span></b></span></p><p class=MsoNormal><span class=inlinemediaobject><b><span lang=EN-USstyle='font-family:Tahoma'>}</span></b></span><b><span lang=EN-USstyle='font-family:Tahoma'><o:p></o:p></span></b></p><p class=MsoNormal><b><span lang=EN-US style='font-family:Tahoma'><o:p> </o:p></span></b></p></div></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -