статус выхода при неправильном использовании

#c

#c

Вопрос:

У меня есть проверка в моей программе, чтобы увидеть, предоставляет ли пользователь нужное количество аргументов командной строки. Если они этого не делают, я печатаю сообщение об использовании, а затем выхожу из программы.

Однако я не уверен, должен ли я завершать с помощью EXIT_SUCCESS или EXIT_FAILURE — похоже, что они оба имеют некоторые преимущества с точки зрения их английского значения. Есть ли важное различие? Что мне делать?

Ответ №1:

Я лично использую EXIT_FAILURE , поскольку это не обычное использование вашей программы.

Ответ №2:

Я бы вернул код ошибки, то есть ненулевое значение. Какое это значение, ну, это зависит от вас.

Ответ №3:

Если программа используется в сценариях оболочки, то возврат ошибочного (ненулевого) значения позволяет сценарию определить, выполнила ли ваша программа то, что от нее ожидалось, или нет.

Другой способ узнать, что делать, — посмотреть на создаваемые вами сообщения. Если они содержат такие слова, как «ошибка» или «сбой», то программа не должна возвращать значение, указывающее на успех.