嘿伙计我有一个关于将输出存储到变量的问题。假设我有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"
。我一开始不想要这个空间。我该如何做到这一点?
我知道它很长但我希望我说得很清楚。 任何帮助或建议都会有所帮助。 谢谢,
答案 0 :(得分:3)
您可以使用std::ws
cin >> num >> units;
ws(cin);
getline(cin, rest);
您可以在此处查看实时工作示例:ignore leading whitespace