判断map是否包含某个key,忽略大小写
时间: 2024-05-06 13:15:10 浏览: 114
浅谈php数组array_change_key_case() 函数和array_chunk()函数
可以使用`boost::iequals`函数来比较两个字符串是否相等,忽略大小写。结合`std::map`的`find`函数,可以判断`map`是否包含某个`key`,忽略大小写。示例代码如下:
```c++
#include <iostream>
#include <map>
#include <boost/algorithm/string.hpp>
int main() {
std::map<std::string, int> myMap;
myMap["foo"] = 1;
myMap["BAR"] = 2;
// 判断map是否包含某个key,忽略大小写
std::string keyToFind = "Bar";
auto it = std::find_if(myMap.begin(), myMap.end(),
[keyToFind](const std::pair<std::string, int>& p) {
return boost::iequals(p.first, keyToFind);
}
);
if (it != myMap.end()) {
std::cout << "map contains key \"" << keyToFind << "\" with value " << it->second << std::endl;
} else {
std::cout << "map does not contain key \"" << keyToFind << "\"" << std::endl;
}
return 0;
}
```
输出结果为:
```
map contains key "Bar" with value 2
```
阅读全文