一些读取字符函数小结(getchar getch getche)
来源:互联网 发布:网页数据导出excel 编辑:程序博客网 时间:2024/05/16 07:41
getchar()是在输入缓冲区顺序读入一个字符(包括空格、回车和Tab)
是stdio.h中的库函,它的作用是从stdin流中读入一个字符,也就是说,如果stdin有数据的话不用输入它就可以直接读取了,第一次getchar()时,确实需要人工的输入,但是如果你输了多个字符,以后的getchar()再执行时就会直接从缓冲区中读取了
从stdio流中读字符,相当于getc(stdin),它从标准输入里读取下一个字符。返回类型为int型,返回值为用户输入的ASCⅡ码,出错返回-1。
getchar 由宏实现:#define getchar() getc(stdin)。
getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).当用户键入回车之后,getchar才开始从stdio流中每次读入一个字符.getchar函数的返回值是用户输入的字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕.如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取.也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键
getch与getchar基本功能相同,差别是getch直接从键盘获取键值,不等待用户按回车,只要用户按一个键,getch就立刻返回,getch返回值是用户输入的ASCⅡ码,出错返回-1.输入的字符不会回显在屏幕上.getch函数常用于程序调试中,在调试时,在关键位置显示有关的结果以待查看,然后用getch函数暂停程序运行,当按任意键后程序继续运行.
这个版本忽略了个重点,getch()是非缓冲输入函数,就是不能用getch()来接受缓冲区已存在的字符,如以下C++程序,
<span style="font-size:18px;">#include<stdio.h>#include<conio.h>main(void){ int c; int a; a=getchar(); if (EOF!=a) printf("%c",a); //输出第一个字符 while((c=getchar())!='\n')//c接收的值是输入第一个字符后按下的回车换行符'\n',c是不会显示的 { printf("%c",c); //依次读取字符缓冲区的字符 }getch()、getche()和getchar()函数</span>
<span style="font-size:18px;">(1) getch()和getche()函数 这两个函数都是从键盘上读入一个字符。其调用格式为: getch(); getche(); 两者的区别是:getch()函数不将读入的字符回显在显示屏幕上,而getche() 函数却将读入的字符回显到显示屏幕上。 例1: #include"stdio.h" #include"conio.h" void main() { char c, ch; c=getch(); /*从键盘上读入一个字符不回显送给字符变量c*/ putchar(c); /*输出该字符*/ ch=getche(); /*从键盘上带回显的读入一个字符送给字符变量ch*/ putchar(ch); } 利用回显和不回显的特点, 这两个函数经常用于交互输入的过程中完成暂停等功能。 例2: #include"stdio.h" #include"conio.h" void main() { char s[20]; printf("Name:"); gets(s); printf("Press any key to continue..."); getch(); /*等待输入任一键*/ } (2) getchar()函数 getchar()函数也是从键盘上读入一个字符, 并带回显。它与前面两个函数的区别在于: getchar()函数等待输入直到按回车才结束, 回车前的所有输入字符都会逐个显示在屏幕上。但只有第一个字符作为函数的返回值。 例3: #include"stdio.h" #include"conio.h" void main() { char c; c=getchar(); /*从键盘读入字符直到回车结束*/ putchar(c); /*显示输入的第一个字符*/ getch(); /*等待按任一健*/ } 例4: #include"stdio.h" #include"conio.h" void main() { char c; while ((c=getchar())!='\n') /*每个getchar()依次读入一个字符*/ printf("%c",c); /*按照原样输出*/ getch(); /*等待按任一健*/ }编程中,以防程序运行一闪即失,总是要在最后来一个“getch();” getch()和getche()需要"conio.h" 附:getch 从键盘无回显地读一字符调用格式 #include"stdio.h" int getch(void);原型在 conio.h说明 getch从键盘直接读一个字符,不回显到屏幕上。返回值 getch返回从键盘所读的字符。可移植性 getch只适用于DOSgetchar 从stdin流中取字符调用格式 #include"conio.h" int getchar(void);原型在 stdio.h说明 getchar是一个宏,用于返回指定的stdin输入流的下一个字符, 它定义为getc(stdin)。返回值 调用成功时,getchar返回所读的字符,它已被转换为无符号扩展的整形值。在遇到文件结束或出错时,返回EOF。可移植性 getchar适用于UNIX系统,在ANSI C中定义,与Kernighan和Ritchie的定义兼容 </span>
0 0
- 一些读取字符函数小结(getchar getch getche)
- getchar() getche() getch() 小结
- getch(),getchar(),getche()函数
- getch()、getche()和getchar()函数
- getch()、getche()和getchar()函数
- getch()、getche()和getchar()函数
- getch()getchar() getche()函数详解
- getch()、getche()和getchar()函数
- getch()、getche()和getchar()函数
- getch()、getche()和getchar()函数 (转)
- getch()、getche()和getchar()函数的比较
- getch()、getche()和getchar()函数的区别
- getch()、getche()和getchar()函数的区别
- getche getch getc getchar几个函数
- getchar、getch、getche小记
- getch, getche, getchar区别
- getch, getche, getchar区别
- getch() getche()getchar()
- 验证码破解技术四部曲之使用K近邻算法(三)
- 文章标题
- 获取当前屏幕活跃的viewcontroller
- 指针与数组
- 验证码破解技术四部曲之使用卷积神经网络(四)
- 一些读取字符函数小结(getchar getch getche)
- TcpUdp与Socket的学习(1)
- js设置cookie
- 微信获取当前定位,
- 菜鸟练习华为级考题——质数因子
- [学习应用]设置R语言在启动时自动加载常用包(packages)或函数(function)
- 2016.10.5提高组A组总结
- hdu 5908 模拟
- 数据结构--栈和队列