#include <iostream>
#include <map>
#include <string.h>
using namespace std;
int main()
{
struct mypred {
bool operator()(const char* a, const char *b) {
return strcmp(a, b) < 0;
}
};
std::map<const char *, int, mypred> m;
const char *j = "key";
m.insert(std::make_pair(j, 5));
char *l = (char *)malloc(strlen(j)+1);
strcpy(l, j);
printf("%s\n", "key");
printf("%s\n", j);
printf("%s\n", l);
// Check if key in map -> 0 if it is, 1 if it's not
printf("%d\n", m.find("key") == m.end());
printf("%d\n", m.find(j) == m.end());
printf("%d\n", m.find(l) == m.end());
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWFwPgojaW5jbHVkZSA8c3RyaW5nLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKQp7CglzdHJ1Y3QgbXlwcmVkIHsKCQlib29sIG9wZXJhdG9yKCkoY29uc3QgY2hhciogYSwgY29uc3QgY2hhciAqYikgewoJCQlyZXR1cm4gc3RyY21wKGEsIGIpIDwgMDsKCQl9Cgl9OwogICAgc3RkOjptYXA8Y29uc3QgY2hhciAqLCBpbnQsIG15cHJlZD4gbTsKCiAgICBjb25zdCBjaGFyICpqID0gImtleSI7CiAgICBtLmluc2VydChzdGQ6Om1ha2VfcGFpcihqLCA1KSk7CgogICAgY2hhciAqbCA9IChjaGFyICopbWFsbG9jKHN0cmxlbihqKSsxKTsKICAgIHN0cmNweShsLCBqKTsKCiAgICBwcmludGYoIiVzXG4iLCAia2V5Iik7CiAgICBwcmludGYoIiVzXG4iLCBqKTsKICAgIHByaW50ZigiJXNcbiIsIGwpOwoKICAgIC8vIENoZWNrIGlmIGtleSBpbiBtYXAgLT4gMCBpZiBpdCBpcywgMSBpZiBpdCdzIG5vdAogICAgcHJpbnRmKCIlZFxuIiwgbS5maW5kKCJrZXkiKSA9PSBtLmVuZCgpKTsKICAgIHByaW50ZigiJWRcbiIsIG0uZmluZChqKSA9PSBtLmVuZCgpKTsKICAgIHByaW50ZigiJWRcbiIsIG0uZmluZChsKSA9PSBtLmVuZCgpKTsKfQo=