C++ c++;:如何将字符串的其余部分存储在变量中?
嘿,伙计们,我有一个关于将输出存储到变量的问题。假设我有3个变量,定义如下:C++ c++;:如何将字符串的其余部分存储在变量中?,c++,storage,C++,Storage,嘿,伙计们,我有一个关于将输出存储到变量的问题。假设我有3个变量,定义如下: float num, string units, string rest; 用户在控制台中输入: 12.2 mg Vitamin 我知道如果要将其存储在变量中,我必须执行以下操作: cin >> num >> units >> rest; 但是假设用户输入的是维生素A而不是维生素 我想将mg后面的字符串的其余部分存储到'rest'变量中。 我该怎么做 我做了以下工作
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
,它将输出“维生素A”
。一开始我不想要这个空间。我如何做到这一点
我知道时间很长,但我希望我能说清楚。
任何帮助或建议都会有帮助。
谢谢,您可以使用
std::ws来跳过空白
cin >> num >> units;
ws(cin);
getline(cin, rest);
您可以在这里看到一个实时工作示例:您可以使用std::ws来跳过空白
cin >> num >> units;
ws(cin);
getline(cin, rest);
您可以在此处看到一个实时工作示例: