学习啦 > 学习英语 > 专业英语 > 计算机英语 > c语言中getch的用法

c语言中getch的用法

时间: 长思709 分享

c语言中getch的用法

学习啦在线学习网   getch()函数是无回显的从控制台取得一个字符。以利用getch()函数让程序调试运行结束后等待编程者按下键盘才返回编辑界面,即任意键继续效果。下面小编就跟你们详细介绍下c语言中getch的用法,希望对你们有用。

  c语言中getch的用法如下:

  [cpp] view plain copy

  #include <stdio.h>

  #include <conio.h>

学习啦在线学习网   int main()

  {

  int i ;

学习啦在线学习网   i = getch();

学习啦在线学习网   printf("press any key to continue\n");

学习啦在线学习网   printf("%d\n", i);

学习啦在线学习网   return 0;

  }

  Windows下getch()在conio.h的头文件中,但conio.h不是标准库文件,C standard library,ISO C 和POSIX标准中均没有定义。固然Linux系统中会没有这个头文件,网上说在curses.h,然后下载一个库,但弄了半天也没成功取得,从网上找到了一个方法实现getch()的功能。

  [cpp] view plain copy

  int getch()

  {

学习啦在线学习网   struct termios tm, tm_old;

  int fd = STDIN_FILENO,c;

学习啦在线学习网   if (tcgetattr(fd, &tm) < 0)

  {

  return -1;

  }

  tm_old = tm;

  cfmakeraw(&tm);

  if (tcsetattr(fd, TCSANOW, &tm) < 0)

  {

学习啦在线学习网   return -1;

  }

学习啦在线学习网   c = fgetc(stdin);

学习啦在线学习网   if (tcsetattr(fd,TCSANOW,&tm_old) < 0)

  {

  return -1;

  }

  return c;

  }

学习啦在线学习网   直接可以这样用:

  [cpp] view plain copy

学习啦在线学习网   /******************************************************************

学习啦在线学习网   *描述: 实现任意键继续

  *参数: void

学习啦在线学习网   *返回值: void

学习啦在线学习网   *******************************************************************/

学习啦在线学习网   void press_key()

  {

  printf("任意键继续...\n");

学习啦在线学习网   getch();

  }

  头文件

  [cpp] view plain copy

  #include <stdio.h>

  #include <stdlib.h>

  #include <termios.h>

  #include <unistd.h>

热门文章

522944