map<std::string, std::int>如何筛选出map数据中string中含有某些字符的数据
时间: 2024-10-22 15:28:18 浏览: 22
MFC,C++,C语言 json转换成std::map源码,无需编译,无需关心引用位置,直接引用即可使用
`std::map<std::string, std::int>` 是 C++ 中的一个关联容器,它存储键值对,其中键是字符串,值是整数。如果你想筛选出那些键(即字符串)中包含特定字符的数据,你可以通过迭代器遍历这个映射,并检查每个键是否满足条件。
以下是一个简单的示例:
```cpp
#include <iostream>
#include <map>
bool containsChar(const std::string& str, char target) {
return str.find(target) != std::string::npos; // 使用find函数查找字符是否存在
}
void filterMap(const std::map<std::string, int>& my_map, char target_char) {
for (const auto& pair : my_map) {
if (containsChar(pair.first, target_char)) {
std::cout << "Key: " << pair.first << ", Value: " << pair.second << std::endl;
}
}
}
int main() {
std::map<std::string, int> my_data = {{"apple", 5}, {"banana", 7}, {"cherry", 3}};
char search_char = 'a'; // 搜索的字符
filterMap(my_data, search_char);
return 0;
}
```
在这个例子中,`filterMap` 函数会遍历 `my_data` 并打印出所有键中包含 `search_char` 的条目。
阅读全文