c ++:如何将其余字符串存储在变量中?

时间:2013-05-06 03:01:51

标签: c++ storage

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

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

1 个答案:

答案 0 :(得分:3)

您可以使用std::ws

跳过空格
cin >> num >> units;
ws(cin);
getline(cin, rest);

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