| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 862 人关注过本帖
标题:关于输入结束EOF
只看楼主 加入收藏
最近不在
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:204
专家分:842
注 册:2010-2-28
结帖率:95%
收藏
已结贴  问题点数:10 回复次数:2 
关于输入结束EOF
程序代码:
#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main()
{
    int sum = 0;
   
    if(!cin.good())
    {
        cout<<"input bad!"<<endl;
        exit(1);
    }
   
    int number;
   
    while(1)
    {
        cin>>number;
       
        if(cin.good())
        {
            sum += number;
        }
        else if(cin.eof())
        {
            break;
        }
        else
        {
            cin.clear();
            string badtoken;
            getline(cin, badtoken);
            cerr<<"warning!"<<badtoken<<endl;
        }
    }
   
    cout<<"sum is"<<sum<<endl;
   
    return 0;
}
为什么我需要按2次ctrl+z才能结束,以前用到EOF也遇到过类似问题,这次提出来问问,求解!
搜索更多相关主题的帖子: EOF 结束 输入 
2010-07-12 19:21
rainbow1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:277
专家分:839
注 册:2010-5-19
收藏
得分:7 
一次就行了。一次之后回车,给出结果。然后退出。
2010-07-12 21:49
最近不在
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:204
专家分:842
注 册:2010-2-28
收藏
得分:0 
按一次ctrl+z 按一次回车,再按一次回车?为什么会这样?

[ 本帖最后由 最近不在 于 2010-7-13 09:04 编辑 ]
2010-07-13 09:01
快速回复:关于输入结束EOF
数据加载中...
 
   



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

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