如何使程序暂停并按任意键继续的3种方法

常见的3种能让程序在运行时调试时暂停,按任意键继续的方法:

1,getch();

所在头文件:conio.h
(conio是Console Input/Output(控制台输入输出)的简写,不是C标准库中的头文件,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作,比如getch()函数等等conio库不仅适用于 Windows 平台,在 Linux 下也可使用.网上已经有兼容包,下载后打开就可使用;而至于 Mac 则完全跟 Windows 没有区别,直接可以使用.)
函数用途:从控制台读取一个字符,但不显示在屏幕上,等待输入从而达到暂停效果。
函数原型:int getch(void)
返回值:读取的字符
用getch();会等待你按下任意键,再继续执行下面的语句;
用ch=getch();会等待你按下任意键之后,把该键字符所对应的 ASCII码 赋给ch,再执行下面的语句。
.在不同平台,输入回车,getch()将返回不同数值,而getchar()统一返回10(即\n)
1)windows平台下ENTER键会产生两个转义字符 \r\n,因此getch返回13(\r)。
2)unix、 linux系统中ENTER键只产生 \n ,因此getch返回10(\n)。
3)MAC OS中ENTER键将产生 \r ,因此getch返回13(\r)。
getch();并非标准C中的函数,不存在C语言中。所以在使用的时候要注意程序的可移植性。

2,getchar();

getchar()和getch()基本用法一致,差别是getch直接从键盘获取键值,不等待用户按回车,只要用户按一个键,getch就立刻返回,
getch返回值是用户输入的ASCII码,出错返回-1.输入的字符不会回显在屏幕上.
当用户键入回车之后,getchar才开始从stdio流中每次读入一个字符
.getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕.
如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取.也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键.如:
while ((c = getchar()) != ‘\n’)
printf(“%c”, c);

3,system(“pause”);

常见的“按任意键继续”
头文件:#include

猜你喜欢

转载自blog.csdn.net/rookiemonkey/article/details/79610101