Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/148.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ c++;:如何将字符串的其余部分存储在变量中?_C++_Storage - Fatal编程技术网

C++ c++;:如何将字符串的其余部分存储在变量中?

C++ c++;:如何将字符串的其余部分存储在变量中?,c++,storage,C++,Storage,嘿,伙计们,我有一个关于将输出存储到变量的问题。假设我有3个变量,定义如下: float num, string units, string rest; 用户在控制台中输入: 12.2 mg Vitamin 我知道如果要将其存储在变量中,我必须执行以下操作: cin >> num >> units >> rest; 但是假设用户输入的是维生素A而不是维生素 我想将mg后面的字符串的其余部分存储到'rest'变量中。 我该怎么做 我做了以下工作

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

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

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

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

您可以在这里看到一个实时工作示例:

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

cin >> num >> units;
ws(cin);
getline(cin, rest);
您可以在此处看到一个实时工作示例: