【发布时间】:2022-02-01 19:41:18
【问题描述】:
假设我有一个这样的 char 指针:
const char* myS = "John 25 Lost Angeles";
我想解析这个字符串并把它放在一个哈希图中,这样我就可以只根据他的名字来检索这个人的年龄和城市。示例:
std::map<string, string> myMap;
john_info = myMap.find("John");
我怎样才能以优雅的方式返回 John 的所有信息?我来自 Java 背景,我真的很想知道这是如何在 C++ 中正确完成的。如果您可以向我展示如何使用增强图来执行此操作(如果那样更容易),那也将很酷。谢谢。
【问题讨论】:
-
使用
std::stringstream。 FYUstd::map不是哈希图。 -
你尝试了什么?你会怎么用 Java 做呢?
-
对于哈希表,使用
std::unordered_map。也就是说,您的问题似乎与两件事有关:解析字符串和存储解析的字符串。我建议删除有关哈希映射的部分并将问题集中在解析上。我强烈建议创建一个class来聚合信息并将字符串解析到该对象中。可能值得写一个customoperator >>overload。
标签: c++ parsing pointers boost hashmap