加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 我如何跳过(getline(cin,tmp))?

发布时间:2020-12-16 10:20:13 所属栏目:百科 来源:网络整理
导读:我正在阅读’通用编程和stl’ 在第1章中,这是一个这样的样本, int main(){ vectorstring v; string tmp; while(getline(cin,tmp)) //problem is here,it keep asking me to input value v.push_back(tmp); sort(v.begin(),v.end()); copy(v.begin(),v.end(),
我正在阅读’通用编程和stl’

在第1章中,这是一个这样的样本,

int main()
{
    vector<string> v;
    string tmp;

    while(getline(cin,tmp))  //problem is here,it keep asking me to input value
        v.push_back(tmp);

    sort(v.begin(),v.end());
    copy(v.begin(),v.end(),ostream_iterator<string>(cout,"n"));

    return 0;
 }

我如何摆脱困境,一直要求我输入价值,没有结局….

解决方法

发送文件结束符:您可以使用CTRL-Z返回(Windows)或CTRL-D(Unix终端).然后,getline将返回false,因为没有什么可以从stdin读取.

另一种方法是:将另一个程序的输出管道输入到这个程序中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读