Как я могу немедленно закрыть программу на C?

Я пишу код на языке C, в котором я анализирую некоторые данные. Я настроил программу на обработку только 100 входных данных. Когда у него более 100 входов, это дает ошибку сегментации. Я хочу создать способ, чтобы, когда количество входов превышает 100, пользователь будет предупрежден, и программа завершится. Я знаю, как сделать это из основной функции, просто return 0 , однако у меня есть несколько вызовов функций вне main, и трудно сделать, чтобы даже возвращал 0 в этой функции будет держать его в цикле.

Есть ли способ немедленно завершить всю программу, не находясь в main?

22
задан mgthomas99 17 May 2018 в 12:01
поделиться

1 ответ

Стандартная функция exit - это то, что вы ищете:

Обычно завершает процесс, выполняя регулярную очистку для завершения процессов.

Во-первых, все функции, зарегистрированные вызовами atexit, выполняются в обратном порядке их регистрации. Затем все потоки закрываются, временные файлы удаляются, и, наконец, элемент управления возвращается в среду хоста.

Аргумент состояния возвращается в хост-среду.

Было бы лучше, если бы вы исправили ошибку segfault.

38
ответ дан 29 November 2019 в 04:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: