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

📄 王大刚--c语言编程宝典--字符屏幕函数.htm

📁 初学者的良师益友。其中包括C的全部教程。
💻 HTM
📖 第 1 页 / 共 2 页
字号:
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #include &lt;stdio.h&gt; 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #include &lt;conio.h&gt; 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; main() <BR>&nbsp;&nbsp;&nbsp;&nbsp; { 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int i; 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      textbackground(0);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      /* 设置屏幕背景色 */ <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      clrscr();&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;&nbsp;&nbsp;&nbsp; 
      for(i=1; i&lt;8; i++) 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      window(10+i*5, 5+i, 30+i*5, 15+i); /* 定义文本窗口 */ 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      textbackground(i);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* 定义窗口背景色 */ 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      clrscr();&nbsp;&nbsp;&nbsp;&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;&nbsp; 
      } <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; getch(); 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp; } <BR>
      <P>&nbsp;&nbsp;&nbsp; 3. 窗口内文本的输入输出函数 <BR>
      <P>&nbsp;&nbsp;&nbsp; 一、窗口内文本的输出函数 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int 
      cprintf("&lt;格式化字符串&gt;", &lt;变量表&gt;); 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int cputs(char 
      *string); <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int 
      putch(int ch); <BR>&nbsp;&nbsp;&nbsp; 
      cprintf()函数输出一个格式化的字符串或数值到窗口中。它与printf() 函 <BR>数的用法完全一样, 
      区别在于cprintf()函数的输出受窗口限制, 而printf() 函 <BR>数的输出为整个屏幕。 <BR>&nbsp;&nbsp;&nbsp; 
      cputs()函数输出一个字符串到屏幕上, 它与puts()函数用法完全一样,&nbsp; 只 <BR>是受窗口大小的限制。 
      <BR>&nbsp;&nbsp;&nbsp; putch()函数输出一个字符到窗口内。 <BR>&nbsp;&nbsp;&nbsp; 注意: 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp; (1) 使用以上几种函数,&nbsp; 当输出超出窗口的右边界时会自动转到下一行的 
      <BR>开始处继续输出。当窗口内填满内容仍没有结束输出时, 窗口屏幕将会自动逐行 <BR>上卷直到输出结束为止。 <BR>
      <P>&nbsp;&nbsp;&nbsp; 二、窗口内文本的输入函数 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int getche(void); 
      <BR>&nbsp;&nbsp;&nbsp; 该函数在前面已经讲过, 需要说明的是, getche()函数从键盘上获得一个字 <BR>符, 
      在屏幕上显示的时候, 如果字符超过了窗口右边界, 则会被自动转移到下一 <BR>行的开始位置。 <BR>&nbsp;&nbsp; 
      下面这个程序给例1.中加入了一些文本的输出函数。 <BR>&nbsp;&nbsp; 例2.: 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #include &lt;stdio.h&gt; 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #include &lt;conio.h&gt; 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int main() <BR>&nbsp;&nbsp;&nbsp;&nbsp; 
      { <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int i; 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char 
      *c[]={"BLACK",&nbsp;&nbsp; "BLUE",&nbsp;&nbsp; "GREEN",&nbsp;&nbsp; 
      "CYAN",&nbsp;&nbsp; "RED", 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      "MAGENTA", "BROWN", "LIGHTGRAY"}; 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      textbackground(0);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      /* 设置屏幕背景色 */ <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      clrscr();&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;&nbsp;&nbsp;&nbsp; 
      for(i=1; i&lt;8; i++) 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      window(10+i*5, 5+i, 30+i*5, 15+i); /* 定义文本窗口 */ 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      textbackground(i);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* 定义窗口背景色 */ 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      clrscr();&nbsp;&nbsp;&nbsp;&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;&nbsp; 
      } <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; getch(); 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 0; 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp; } <BR>
      <P>&nbsp;&nbsp;&nbsp; 4. 有关屏幕操作的函数 <BR>
      <P>&nbsp;&nbsp;&nbsp; void clrscr(void);&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; 
      的左上角(1, 1)处。 <BR>&nbsp;&nbsp;&nbsp; void clreol(void);&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; 
      标位置不变。 <BR>&nbsp;&nbsp;&nbsp; void gotoxy(x, y);&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; 
      置。这里x, y是指光标要定位处的坐标(相对于窗口 
      <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; 
      而言), 当x, y超出了窗口的大小时, 该函数就不起 
      <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; 
      作用了。 <BR>
      <P>&nbsp;&nbsp;&nbsp;&nbsp; int gettext(int xl, int yl, int x2, int y2, 
      void *buffer); <BR>&nbsp;&nbsp;&nbsp;&nbsp; int puttext(int x1, int y1, 
      int x2, int y2, void *buffer); <BR>&nbsp;&nbsp;&nbsp; 
      gettext()函数是将屏幕上指定的矩形区域内文本内容存入buffer 指针指向 <BR>的一个内存空间。内存的大小用下式计算: 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp; 所用字节大小=行数*列数*2 <BR>其中: 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp; 
      行数=y2-y1+1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 列数=x2-x1+1 
      <BR>&nbsp;&nbsp;&nbsp; puttext()函数则是将gettext()函数存入内存buffer中的文字内容拷贝到屏 
      <BR>幕上指定的位置。 <BR>&nbsp;&nbsp;&nbsp; int movetext(int x1, int x2, int y2, 
      int x3, int y3); <BR>&nbsp;&nbsp;&nbsp; movetext()函数将屏幕上左上角为(x1, y1), 
      右下角为(x2, y2)的一矩形窗 <BR>口内的文本内容拷贝到左上角为(x3, y3)的新的位置。该函数的坐标也是相对于 <BR>整个屏幕而言的。 
      <BR>&nbsp;&nbsp;&nbsp; 注意: <BR>&nbsp;&nbsp;&nbsp; 1. 
      gettext()函数和puttext()函数中的坐标是对整个屏幕而言的,&nbsp; 即是屏 <BR>幕的绝对坐标, 而不是相对窗口的坐标。 
      <BR>&nbsp;&nbsp;&nbsp; 2. movetext()函数是拷贝而不是移动窗口区域内容, 即使用该函数后,&nbsp; 原 
      <BR>位置区域的文本内容仍然存在。 <BR>&nbsp; <BR>&nbsp;&nbsp;&nbsp; 例3. 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp; include &lt;conio.h&gt; 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp; main() <BR>&nbsp;&nbsp;&nbsp;&nbsp; { 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int i; 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char 
      *f[]={"Load&nbsp;&nbsp;&nbsp; F3", "Pick&nbsp; Alt-F3", 
      "New&nbsp;&nbsp;&nbsp; ", 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      "Save&nbsp;&nbsp;&nbsp; F2", "Write to&nbsp;&nbsp;&nbsp; ", "Directory", 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      "Change dir", "Os shee&nbsp;&nbsp;&nbsp; ", "Quit Alt-X"}; 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char 
      buf[9*14*2]; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      clrscr(); <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      textcolor(YELLOW); 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      textbackground(BLUE); 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; clrscr(); 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gettext(10, 2, 
      24, 11, buf); <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      window(10, 2, 24, 11); 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      textbackground(RED); 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      textcolor(YELLOW); 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; clrscr(); 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(i=0; 
      i&lt;9; i++) <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      gotoxy(1, i++); 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      cprintf("%s", f[i]); 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; getch(); 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; movetext(10, 2, 
      24, 11, 40, 10); 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; puttext(10, 2, 
      24, 11, buf); <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      getch(); <BR>&nbsp;&nbsp;&nbsp;&nbsp; } <BR>&nbsp;&nbsp;&nbsp; 下面再介绍一些函数: 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp; void highvideo(void);&nbsp;&nbsp;&nbsp; 
      设置显示器高亮度显示字符。 <BR>&nbsp;&nbsp;&nbsp;&nbsp; void 
      lowvideo(void);&nbsp;&nbsp;&nbsp;&nbsp; 设置显示器低亮度显示字符。 
      <BR>&nbsp;&nbsp;&nbsp;&nbsp; void normvideo(void);&nbsp;&nbsp;&nbsp; 
      使显示器返回到程序运行前的显示方式。 <BR>&nbsp;&nbsp;&nbsp;&nbsp; int 
      wherex(void);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这两个函数返回当前窗口下光标的x, 
      y坐标。 <BR>&nbsp;&nbsp;&nbsp;&nbsp; int wherey(void); <BR>&nbsp; <BR>
      <HR width="94%" color=#ee9b73 SIZE=1>
    </TD>
    <TD class=tt3 vAlign=bottom width="8%" bgColor=#e0e0e0><STRONG><A 
      href="http://www.hjflying.8u8.com/cl/index.html">后一页</A><BR><A 
      href="http://www.hjflying.8u8.com/cl/041.htm">前一页</A><BR><A 
      href="http://www.hjflying.8u8.com/cl/index.html">回目录</A><BR><A 
      href="http://www.hjflying.8u8.com/index.htm">回首页</A><BR></STRONG></TD></TR></TBODY></TABLE></BODY></HTML>

⌨️ 快捷键说明

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