我已经创建了一个将int映射到char的映射。 0-25字母a-z和26-35 0-9。char []凌乱输出
for(int i = 0; i<26; i++)
{
letters.insert(Match::value_type(i,static_cast<char>(letter + x)));
x++;
}
for(int i = 26; i<36; i++)
{
letter = '0' + a;
letters.insert(Match::value_type(i,letter));
a++;
}
这里i
输入它包含了一些,并寻找价值pin[]
。
std::map<int, char >::const_iterator it1 = letters.find(pin[0]);
std::map<int, char >::const_iterator it2 = letters.find(pin[1]);
std::map<int, char >::const_iterator it3 = letters.find(pin[2]);
std::map<int, char >::const_iterator it4 = letters.find(pin[3]);
char fourth = it4->second;
char third = it3->second;
char second = it2->second;
char first = it1->second;
char combo[] = { first, second, third, fourth};
cout << combo << endl;
一切工作正常,但我cout<< combo
给我 “ABCD [[[[[一个[[[[[B [[[[C [[[[[d]]]]] PPP”。 我不明白为什么......所有我想在输出中只是“abcd”我该如何清理它。
null终止符。 – 2013-03-06 23:58:55
对不起。由于某种原因它被切断了,但这里是 – user1665569 2013-03-06 23:59:02
我不明白@JesseGood。我的组合是空的? – user1665569 2013-03-07 00:01:41