intをcharにマップするマップを作成しました。0-25から文字azおよび26-350-9。
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 [[[[[a [[[[[b [[[[c[[[[[d]]]]]pPP」が表示されます。理由がわかりません...出力に必要なのは「abcd」だけです。どうすればクリーンアップできますか。