标题:初始代码请教,这个cin.ignore()如何起的作用呢?
取消只看楼主
ggyy66
Rank: 1
等 级:新手上路
帖 子:427
专家分:0
注 册:2007-8-14
结帖率:86.25%
已结贴  问题点数:20 回复次数:0 
初始代码请教,这个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]
搜索更多相关主题的帖子: cin 代码 ignore 
2009-09-06 17:45



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-284980-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.134688 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved