getch()函数是无回显的从控制台取得一个字符。以利用getch()函数让程序调试运行结束后等待编程者按下键盘才返回编辑界面,即任意键继续效果。
#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()的功能。
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; }
直接可以这样用:
/****************************************************************** *描述: 实现任意键继续 *参数: void *返回值: void *******************************************************************/ void press_key() { printf("任意键继续...\n"); getch(); }
头文件
#include <stdio.h> #include <stdlib.h> #include <termios.h> #include <unistd.h>
转载请注明:http://blog.csdn.net/qduningning/article/details/7879923