使用getline(cin,n)进行输入;没有打印第一个输入并且我没有使用cin >>在任何地方输入

ashr81

我试图打印输入,直到用户输入空白为止。因此,我使用了getline(cin,input)。但是,当我使用getline(cin,input)时,在给出输出时会跳过第一个输入。

#include <iostream>
using namespace std;
int main() {
    while(1)
    {
        string n;
        getline(cin, n);
        while(getline(cin,n) && !n.empty())
        {
            cout<<n<<endl;;
        }
        if(n.empty())
            break;
    }
    return 0;
}

样本输入:

12  
2

获得的输出:

2

需要的输出:

12   
2  
伏安

您的代码两次询问行:

1)嵌套循环之前

  getline(cin, n);

2)在嵌套循环条件下

  while(getline(cin,n) && !n.empty())

我的建议是简化程序,如下所示:

#include <iostream>
#include <string>
using namespace std;
int main() {
    while(1)    // only one loop is needed
    {
        string n;
        getline(cin, n);   // read line
        if(n.empty())      // check line
            break;         // stop loop
        else
        {   
            cout << n << endl; // print line
        }
    }
    return 0;
}

或仅保留嵌套循环而不包含while(1),例如:

#include <iostream>
#include <string>
using namespace std;
int main() {
    string n;

    while(getline(cin,n) && !n.empty())
    {
        cout<<n<<endl;
    }

    return 0;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

输入值在任何地方都包含特定字符

不能在任何地方输入文本字段

使用JavaFX在任何地方处理鼠标事件

使用未在任何地方注入的 angular 服务

如何在任何地方使用 AsyncStorage 数据?

Python 在任何地方打印相同的时间戳

在任何地方都显示带有简短代码的WooCommerce优惠券输入字段

没有@Target 的注解类型可以在任何地方使用吗?

我没有在任何地方找到我的错误

importerror:在任何地方都没有名为“ models” python的模块

Rails:Flash消息没有出现在任何地方

AttributeError:“模块”对象没有属性“模型”,而模型字未写在任何地方,

如何在任何地方从另一个类调用函数

Vue 3 - 我可以避免在任何地方使用 .value 吗?

NullPointer在toLowerCase上,但我在任何地方都不使用该方法

我应该在任何地方使用PIMPL吗?

为什么我必须在任何地方使用静态?以及如何避免?

需要有关“在任何地方爬网”和“ solr”的信息

是否可以保证多级“结构继承”在任何地方都有效?

Scala spark:有效检查条件是否在任何地方都匹配?

S3 AccessDenied 在任何地方都有真实的日志吗?

是否在任何地方都有Plots.jl函数的完整列表?

是否在任何地方都有关于Twisted Straights的权威指南?

用户专有信息可在任何地方访问。如何保护它?

通过 odbc 文本格式变音 (öäü) 在任何地方使用 c# sql

无法在任何地方或节点使用Javascript / Heroku CORS呼叫Google oauth

java.util.Observable是否在任何地方使用?

确实可以在任何地方使用JOINS来替换SQL中的子查询

干净的Windows 10安装,Ctrl + Backspace在任何地方都无法使用