初始代码请教,这个cin.ignore()如何起的作用呢?
初始代码请教,这个cin.ignore()如何起的作用呢?以下几行代码,我想实现在键盘上敲什么字符,就在屏幕上显示什么字符,但是如果加上cin.ignore()后,结果就是不对的,总是显示我键入的第二个字符。我非常不解,
1.为什么屏幕输出的总是第二个字符呢?第一个字符被cin.ignore()吃了不成。我用cin.ignore()的作用是清空键盘缓冲区呀,应该没有影响呀,我的思路是先清空缓冲区,再提取键盘录入的字符,这种思路有问题吗?
2.以下代码,我的理解是键入一个字符,则屏幕上会马上显示出来,但是好象不会,只有键入“回车”后,屏幕才会输出。
getchar()应该可以录入任何字符呀,所以回车符与其他可见的字符应该同等对待呀?难道我的理解还是错误的吗?
请达人指教。
[code=C/C++]
#include <iostream>
#include <stdlib.h>
using namespace std;
#include <conio.h>
int main()
{
cin.ignore();
cout << getchar();
cout << endl;
system("pause");
return 0;
}
[/code]