Программы CLI имеют пользовательские входы и следуйте общему шаблону < /p>
program --argX valueX --argY valueY
и так далее.
Как программировать это безопасно и элегантно? Является ли программа--нет-сав-logs .
Кроме того, что может быть ловушками при обработке входов? Я знаю, что мой код в любом случае небезопасен. Как обрабатывать недопустимый вход, который может быть не существующим аргументом, разницей типа, из граничащих значений и т. Д.
Начальная мысль
Я думал о хэшмапе, которая сохраняет аргументы в значении и имя аргумента как ключ.int main(int argc, char** argv) {
std::unordered_map variables = {
{"--argX", 1},
{"--argY", 2}
};
for(int i = 1; i < argc; i += 2) {
variables[argv] = atoi(argv[i+1]);
}
}
Подробнее здесь: https://stackoverflow.com/questions/796 ... li-program