У меня есть std :: map
, и я хочу найти ключ с помощью подстроки. Например, у меня есть следующий код:
#include <iostream>
#include <map>
#include <string>
using namespace std;
typedef std::map<std::string, std::string> TStrStrMap;
typedef std::pair<std::string, std::string> TStrStrPair;
int main(int argc, char *argv[])
{
TStrStrMap tMap;
tMap.insert(TStrStrPair("John", "AA"));
tMap.insert(TStrStrPair("Mary", "BBB"));
tMap.insert(TStrStrPair("Mother", "A"));
tMap.insert(TStrStrPair("Marlon", "C"));
return 0;
}
Теперь я хочу найти позицию, которая содержит подстроку «Marl», а не «Marlon», если «Marla» хранится на карте. Я хочу найти что-то, что начинается на «Марл». Мне нужно найти не более одной позиции. Это возможно? Если да, то как?
Я не хочу использовать какие-либо библиотеки Boost!