如何将字符串的其余部分存储在变量中

c++: How to store the rest of the string in a variable?

本文关键字:存储 变量 余部 字符串      更新时间:2023-10-16

嘿,伙计们,我有一个关于将输出存储到变量的问题。假设我有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"。我一开始就不想要这个空间。我该如何做到这一点?

我知道这很长,但我希望我讲清楚了。任何帮助或建议将是有益的。谢谢你,

您可以使用std::ws来跳过空白

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

你可以在这里看到一个活生生的工作示例:忽略前导空格