使用 getline 解析用户输入的最佳方法
Best way to parse user input using getline?
所以我需要一点帮助来理解从用户那里获取输入并将其存储在 2 种独立数据类型中的最佳方式。我想做的是以输入为例:
remove 44
我想获取第一部分"删除"并将其保存为字符串以了解我需要调用哪个函数,但随后我想获取 44 并将其保存为 int 作为所述函数的输入。到目前为止,我所拥有的是
string In;
getline (cin, In);
现在我应该更改 getline 以分隔空间以获取两个字符串吗,如果是这样,我将如何做到这一点,或者我应该只获取整个输入并从中创建 2 个子字符串?
我知道这是一个非常简单的问题,但我在C++中使用用户输入的经验并不多。任何帮助将不胜感激。
你可以重载运算符>>通过
struct SomeStruct
{
string id;
int data;
};
istream & operator>>(istream& is, SomeStruct& someData)
{
is >> (string&)someData.id;
is >> someData.data;
return is;
}
然后后来
SomeStruct test;
cin >> test;
要了解有关运算符>>的更多信息,请查看 istream::operator>>。
若要了解有关运算符重载的详细信息,请查看C++运算符重载指南。
相关文章:
- 在C#中处理C++指针而不使用unsafe的最佳方法
- 在C++中,将大的无符号浮点数四舍五入为整数的最佳方法是什么
- 实现无开销push_back的最佳方法是什么
- 在C++中向零方向近似的最佳方法
- 使用不同的CRT将新的C++代码与旧的(二进制)组件隔离开来的最佳方法是什么
- 检测win32服务创建和删除的最佳方法
- 在C++中样板"冷/never_inline"错误处理技术的最佳方法是什么?
- 在 c++ 中对类中的 c 字符串动态数组进行排序的最佳方法是什么?
- 将线程中的数据存储到全局容器的最佳方法?
- 将一系列整数放入类的最佳方法是什么?
- 在派生类中使用基类的私有成员变量的最佳方法
- 在 C++ 中将非指定类型作为参数传递的最佳方法?
- Qt - QVector 和模型视图 - 从列表视图获取自定义类的最佳方法是什么?
- 使用 Git 处理 C++ Visual Studio 2019 解决方案的外部依赖项源代码管理的最佳方法是什么?
- 比较两个节点坐标的最佳方法是什么?
- 在nodejs中使用本机代码的最佳方法是什么?
- 将 pybind11 绑定标记为已弃用的最佳方法
- C++:将向量传递到构造函数以创建成员变量的最佳方法?
- C++中变量混叠的最佳方法
- 读取大文件(>2GB)(文本文件包含以太网数据)并通过不同参数随机访问数据的最佳方法是什么?