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

📄 4第四章:初始化(initialization).htm

📁 curses界面编程
💻 HTM
📖 第 1 页 / 共 3 页
字号:
<p class=MsoNormal><span class=inlinemediaobject><b><span lang=EN-USstyle='font-family:Tahoma'>#include &lt;ncurses.h&gt;<o:p></o:p></span></b></span></p><p class=MsoNormal><span class=inlinemediaobject><b><span lang=EN-USstyle='font-family:Tahoma'><o:p>&nbsp;</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'>{<span style='mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp; </span><o:p></o:p></span></b></span></p><p class=MsoNormal style='text-indent:21.0pt'><span class=inlinemediaobject><b><spanlang=EN-US style='font-family:Tahoma'>int ch;</span></b></span><spanclass=inlinemediaobject><span lang=EN-US style='font-family:Tahoma'><o:p></o:p></span></span></p><p class=MsoNormal><span class=inlinemediaobject><span lang=EN-USstyle='font-family:Tahoma'><o:p>&nbsp;</o:p></span></span></p><p class=MsoNormal><span class=inlinemediaobject><span lang=EN-USstyle='font-family:Tahoma'><span style='mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><b>initscr();<spanstyle='mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></b><spanstyle='mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><spanstyle='mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>/*</span></span><span class=inlinemediaobject><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>开始</span></span><span class=inlinemediaobject><span lang=EN-USstyle='font-family:Tahoma'>curses</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><span class=inlinemediaobject><spanlang=EN-US style='font-family:Tahoma'> <span style='mso-tab-count:1'>&nbsp;&nbsp; </span>*/<o:p></o:p></span></span></p><p class=MsoNormal><span class=inlinemediaobject><span lang=EN-USstyle='font-family:Tahoma'><span style='mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><b>raw();<spanstyle='mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></b><spanstyle='mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><spanstyle='mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>/*</span></span><span class=inlinemediaobject><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>行缓冲禁止</span></span><span class=inlinemediaobject><span lang=EN-USstyle='font-family:Tahoma'><span style='mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><spanstyle='mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>*/<o:p></o:p></span></span></p><p class=MsoNormal><span class=inlinemediaobject><b><span lang=EN-USstyle='font-family:Tahoma'><span style='mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>keypad(stdscr,TRUE);<span style='mso-tab-count:1'>&nbsp;&nbsp; </span></span></b></span><spanclass=inlinemediaobject><span lang=EN-US style='font-family:Tahoma'><spanstyle='mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>/* </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'><spanstyle='mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>*/<o:p></o:p></span></span></p><p class=MsoNormal><span class=inlinemediaobject><span lang=EN-USstyle='font-family:Tahoma'><span style='mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><b>noecho();<spanstyle='mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></b><spanstyle='mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><spanstyle='mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>/*</span></span><span class=inlinemediaobject><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>当执行</span></span><span class=inlinemediaobject><span lang=EN-USstyle='font-family:Tahoma'>getch()</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 style='font-family:Tahoma'> <span lang=EN-US>*/<o:p></o:p></span></span></span></p><p class=MsoNormal><span class=inlinemediaobject><b><span lang=EN-USstyle='font-family:Tahoma'><span style='mso-spacerun:yes'>&nbsp;&nbsp; </span><spanstyle='mso-tab-count:1'>&nbsp; </span>printw(&quot;</span></b></span><spanclass=inlinemediaobject><span lang=EN-US style='font-family:Tahoma'>Type anycharacter to see it in bold\n<b>&quot;);<o:p></o:p></b></span></span></p><p class=MsoNormal><span class=inlinemediaobject><b><span lang=EN-USstyle='font-family:Tahoma'><span style='mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>ch= getch();<span style='mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><o:p></o:p></span></b></span></p><p class=MsoNormal style='text-indent:21.0pt'><span class=inlinemediaobject><spanlang=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'>raw()</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'>enter</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'> */<o:p></o:p></span></span></p><p class=MsoNormal style='text-indent:21.0pt'><span class=inlinemediaobject><spanlang=EN-US style='font-family:Tahoma'><o:p>&nbsp;</o:p></span></span></p><p class=MsoNormal><span class=inlinemediaobject><span lang=EN-USstyle='font-family:Tahoma'><span style='mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><b>if(ch== KEY_F(1))</b><span style='mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>/*</span></span><span class=inlinemediaobject><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>如果没有使用</span></span><span class=inlinemediaobject><span lang=EN-USstyle='font-family:Tahoma'>keypad</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 style='font-family:Tahoma'> <span lang=EN-US>*/<o:p></o:p></span></span></span></p><p class=MsoNormal style='margin-left:21.0pt;text-indent:21.0pt'><spanclass=inlinemediaobject><b><span lang=EN-US style='font-family:Tahoma'>printw(&quot;</span></b></span><spanclass=inlinemediaobject><span lang=EN-US style='font-family:Tahoma'>F1 Key pressed<b>&quot;);<spanstyle='mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><br></b>/* </span></span><span class=inlinemediaobject><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>如果没有使用</span></span><span class=inlinemediaobject><span lang=EN-USstyle='font-family:Tahoma'> noecho() </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;text-indent:21.0pt'><spanclass=inlinemediaobject><b><span lang=EN-US style='font-family:Tahoma'><o:p>&nbsp;</o:p></span></b></span></p><p class=MsoNormal><span class=inlinemediaobject><b><span lang=EN-USstyle='font-family:Tahoma'><span style='mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>else<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-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<spanstyle='mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp; </span>printw(&quot;</span></b></span><spanclass=inlinemediaobject><span lang=EN-US style='font-family:Tahoma'>The pressedkey is<b> &quot;);<o:p></o:p></b></span></span></p><p class=MsoNormal><span class=inlinemediaobject><b><span lang=EN-USstyle='font-family:Tahoma'><span style='mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>attron(A_BOLD);<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-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>printw(&quot;%c&quot;,ch);<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-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>attroff(A_BOLD);<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-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span></b></span><spanclass=inlinemediaobject><span lang=EN-US style='font-family:Tahoma'><o:p></o:p></span></span></p><p class=MsoNormal><span class=inlinemediaobject><b><span lang=EN-USstyle='font-family:Tahoma'><span style='mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>refresh();<spanstyle='mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp; </span></span></b></span><spanclass=inlinemediaobject><span lang=EN-US style='font-family:Tahoma'><spanstyle='mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>/*</span></span><span class=inlinemediaobject><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>将缓冲区的内容打印到真正的显示器上</span></span><span class=inlinemediaobject><spanlang=EN-US style='font-family:Tahoma'><span style='mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>*/<o:p></o:p></span></span></p><p class=MsoNormal><span class=inlinemediaobject><b><span lang=EN-USstyle='font-family:Tahoma'><span style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;</span>getch();<span style='mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></b></span><spanclass=inlinemediaobject><span lang=EN-US style='font-family:Tahoma'><spanstyle='mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>/*</span></span><span class=inlinemediaobject><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>等待用户输入</span></span><span class=inlinemediaobject><span lang=EN-USstyle='font-family:Tahoma'> <span style='mso-tab-count:7'>&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>*/<o:p></o:p></span></span></p><p class=MsoNormal><span class=inlinemediaobject><b><span lang=EN-USstyle='font-family:Tahoma'><span style='mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>endwin();<spanstyle='mso-tab-count:1'>&nbsp;&nbsp;&nbsp; </span></span></b></span><spanclass=inlinemediaobject><span lang=EN-US style='font-family:Tahoma'><spanstyle='mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>/*</span></span><span class=inlinemediaobject><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>结束</span></span><span class=inlinemediaobject><span lang=EN-USstyle='font-family:Tahoma'>curses</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><span class=inlinemediaobject><spanlang=EN-US style='font-family:Tahoma'> <span style='mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><spanstyle='mso-tab-count:4'>&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; </span>*/<o:p></o:p></span></span></p><p class=MsoNormal><span class=inlinemediaobject><span lang=EN-USstyle='font-family:Tahoma'><span style='mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><b>return0;<o:p></o:p></b></span></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><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'>getch()</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'>getchar()</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'>getch</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'>enter</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><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'>attroff()</span><span style='font-family:宋体;mso-ascii-font-family:Tahoma;mso-hansi-font-family:Tahoma;mso-bidi-font-family:Tahoma'>函数作为切换开关用来开启和关闭给字符增加一些修饰效果的功能。在这个例子中,它们使显示的字符</span><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>字体加粗。在后面的部分中我们也将讨论到这些函数。</span></p></div></body></html>

⌨️ 快捷键说明

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