学习笔记-关于使程序暂停的3种方法

来源:互联网 发布:视频网络传输 编辑:程序博客网 时间:2024/04/29 10:26
常见的3种能让程序在运行时调试时暂停,按任意键继续的方法:
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语言中。所以在使用的时候要注意程序的可移植性。
getchar();
getchar()和getch()基本用法一致,差别是getch直接从键盘获取键值,不等待用户按回车,只要用户按一个键,getch就立刻返回, 
getch返回值是用户输入的ASCII码,出错返回-1.输入的字符不会回显在屏幕上.
当用户键入回车之后,getchar才开始从stdio流中每次读入一个字符
.getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕.
如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取.也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键.如:
while ((c = getchar()) != '\n')
printf("%c", c);
system("pause");
常见的“按任意键继续”
头文件:#include<stdlib.h>
原创粉丝点击