【问题标题】:c++: How to store the rest of the string in a variable?c ++:如何将字符串的其余部分存储在变量中?
【发布时间】:2013-05-06 03:01:50
【问题描述】:

大家好,我有一个关于将输出存储到变量的问题。假设我有 3 个变量定义如下:

float num, 
string units, 
string rest;

用户在控制台中输入:

 12.2
 mg 
 Vitamin

我知道如果我想将它存储在变量中,我必须执行以下操作:

cin >> num >> units >> rest;

但假设用户输入的是维生素 A 而不是维生素。

我想将 mg 之后的其余字符串存储到“rest”变量中。 我该怎么做?

我做了以下事情:

cin >> num >> units;
getline(cin,rest); //stores the rest of the string into rest

但这也存储了mg之后的空格字符,即如果我输出rest,它将输出" Vitamin A"。一开始我不想要这个空间。我该如何做到这一点?

我知道这很长,但我希望我说清楚了。 任何帮助或建议都会有所帮助。 谢谢,

【问题讨论】:

    标签: c++ storage


    【解决方案1】:

    您可以使用std::ws跳过空格

    cin >> num >> units;
    ws(cin);
    getline(cin, rest);
    

    您可以在此处查看实时工作示例:ignore leading whitespace

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-26
      • 1970-01-01
      • 2021-12-02
      • 1970-01-01
      • 2017-08-25
      • 1970-01-01
      • 2018-12-01
      • 1970-01-01
      相关资源
      最近更新 更多