Слишком много знаков в символьной константе
Пишу программу для декодирования текста на С++, ниже приведен пример. char не может обработать больше четырех знаков, что можно сделать, или как можно изменить тип данных для корректной обработки кода?
string letterToDigits(const string& s)
{
static unordered_map<char, string>m{ {'0000001',"а"},{'00000001',"б"} };
string str{};
for_each(s.cbegin(), s.cend(), [&str](const char& c)noexcept {
auto f = m.find(c);
str += (f != m.end()) ? f->second : "";
});
return str;
}
Источник: Stack Overflow на русском