Очевидно, в такой постановке (кстати, C++ же) :
- завести массив пар вида char[100] (кстати, не будет ли лучше, раз уж плюсы - приюзать std::string? ЕМНИП, накладных расходов тут не много) - void(*handler)() (или таки std::function и анонимную функцию?)
- искать в этом массиве пару с нужным нам значением "ключа"
- выполнять соотвествующую функцию
Но вообще - это какой-то странный подход.