Libchecker:fatal read
Навигация: Система ejudge/Проверяющие программы/libchecker/Функции/Завершение работы/fatal_read
void fatal_read(int ind, char const *format, ...);
Данная функция выводит диагностическое сообщение на стандартный поток ошибок затем завершает работу проверяющей программы с кодом завершения, соответствующим ошибке неправильного формата результата или внутренней ошибки проверки в зависимости от значения аргумента ind. Данная функция никогда не возвращает управление в проверяющую программу.
Аргумент ind определяет, к какому из трёх входных потоков проверяющей программы относится ошибка. Допустимы следующие значения:
- 0 - файл с тестовыми данными
- 1 - файл с результатом работы тестируемой программы
- 2 - файл с эталонным ответом
Если параметр ind равен 0 или 2, то код завершения соответствует внутренней ошибки проверки, если параметр ind равен 1, то — ошибке неправильного формата результата.
Аргумент format задаёт спецификацию форматного преобразования функции printf для диагностического сообщения. Символ перехода на новую строку \n добавляется при выводе автоматически, поэтому он не требуется в конце диагностического сообщения.
Функция fatal_read может использоваться в функциях чтения сложных структур данных из входных файлов. В этом случае тип ошибки, соответствующий файлу, из которого ведётся чтение, будет выбран автоматически.
Пример:
fatal_read(") expected");