如何将字符串的其余部分存储在变量中
c++: How to store the rest of the string in a variable?
嘿,伙计们,我有一个关于将输出存储到变量的问题。假设我有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);
你可以在这里看到一个活生生的工作示例:忽略前导空格
相关文章:
- 存储变量的更有效方法是什么?
- 使用 system() 不存储变量C++?
- 在递归DP中,通过存储变量来分解递归调用:效率低下
- 使用 LDAP 存储C++变量
- 在满足特定条件时运行迭代C++以存储变量
- 使用getline解析和存储变量
- 如何存储变量的地址并使用指针打印值
- C++ / Objective-C++ - 如何在 NSDictionary 中存储C++变量?
- 如何从文件中读取并存储变量
- 指针是否延长了自动存储变量的生存期
- 如何在 INI、CFG 或 XML 文件中存储C++变量
- 如何在 c++ 中的字符串数组中存储变量
- 如何在特定偏移量处存储变量
- 如何存储变量的前一个值并更新它以进行比较
- 存储变量的有效方法是什么?(自制虚拟机)
- 在C++中存储变量
- 在c++中按值调用时,存储变量的副本
- 为什么lambda只捕获自动存储变量
- 如何在寄存器中存储c++变量
- Getline()结合cin.ignore()不存储变量?(错误)