有关getchar的用法
2015-12-22 21:39
197 查看
getchar()的用法,部分内容参考百度百科
getchar()函数功能是从stdio中读字符
注:getchar有一个int型的返回值,当程序调用getcahr时,程序就等着用户按键,用户输入的字符被存放在键盘缓冲区中,直到用户按回车为止(回车字符也放在缓冲区中)。当用户键入回车之后,getchar才开始从stdio流中每次读入一个字符。getchar函数的返回值是用户输入的第一个字符的ASCII码,,如出错则返回-1,且将用户输入的字符回显到屏幕。如用户在按回车之前输入了不止一个字符,其他字符会保留到键盘缓存区中,等待后续getchar调用读取。也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,知道缓冲区中的字符读完后,才等待用户按键。
getch与getchar的基本功能相同,差别是getch直接从键盘获取键值,不等待用户按回车,只要用户按一个键,getch立即返回。getch的返回值是用户输入的ASCII码,出错返回-1,输入的字符不会显示在屏幕上,getch函数常用于程序调试中,在调试时,在关键位置显示有关的结果以待查看,然后用getch函数暂停程序运行,当按任意键后程序继续运行。
下面是在百度上的几个例子,我照着敲了一下,代码如下:
![](http://img.blog.csdn.net/20151222213626343?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
有时候搭配着getline函数一起使用,所以接着我再总结一下getline函数。
下面是一个getch的例子,注意到当我输入一个字符的时候它并没有在按照我的要求输出一遍或者可以说他显示的就是我当前在输入的,“无回显”的意味浓厚,没有再次显示,我输入了什么就显示了什么而不是像正常的cin一下屏幕上显示我输入的然后再cout再显示一遍输出,简易代码如下:
getchar()函数功能是从stdio中读字符
注:getchar有一个int型的返回值,当程序调用getcahr时,程序就等着用户按键,用户输入的字符被存放在键盘缓冲区中,直到用户按回车为止(回车字符也放在缓冲区中)。当用户键入回车之后,getchar才开始从stdio流中每次读入一个字符。getchar函数的返回值是用户输入的第一个字符的ASCII码,,如出错则返回-1,且将用户输入的字符回显到屏幕。如用户在按回车之前输入了不止一个字符,其他字符会保留到键盘缓存区中,等待后续getchar调用读取。也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,知道缓冲区中的字符读完后,才等待用户按键。
getch与getchar的基本功能相同,差别是getch直接从键盘获取键值,不等待用户按回车,只要用户按一个键,getch立即返回。getch的返回值是用户输入的ASCII码,出错返回-1,输入的字符不会显示在屏幕上,getch函数常用于程序调试中,在调试时,在关键位置显示有关的结果以待查看,然后用getch函数暂停程序运行,当按任意键后程序继续运行。
下面是在百度上的几个例子,我照着敲了一下,代码如下:
#include<iostream> using namespace std; int main() { int c; while ((c = getchar()) != '\n') cout << c << endl; return 0; }
有时候搭配着getline函数一起使用,所以接着我再总结一下getline函数。
下面是一个getch的例子,注意到当我输入一个字符的时候它并没有在按照我的要求输出一遍或者可以说他显示的就是我当前在输入的,“无回显”的意味浓厚,没有再次显示,我输入了什么就显示了什么而不是像正常的cin一下屏幕上显示我输入的然后再cout再显示一遍输出,简易代码如下:
#include<iostream> #include<conio.h> using namespace std; int main(void) { char ch; cout << "input chars:" << endl; ch = _getch(); cout << ch << endl; return 0; }
相关文章推荐
- 程序10——逐层打印二叉树
- python descriptor
- android 应用内部获取本应用或者对应包名的应用的SHA1签名的办法
- mycncart之后台显示在线人数
- 织梦dedecms最新版手机模板插件,手机pc同步官方版
- Service详解
- 网络监控
- iOS调试技巧——编译器预定义宏
- 结构体定义的3种方式
- mysql的数据恢复
- 小知识
- 主线程、子线程
- BZOJ3261: 最大异或和
- Sublime Text 3 破解版 + 注册机 + 汉化包 + 教程
- 算法导论16.1 活动选择问题
- [Pythong标准库]array——固定类型数据序列
- grep
- MySQL体系结构
- POJ1110和HDU1298
- Android中的junit单元测试