Difference between revisions of "Libchecker:fatal read"
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
− | + | Навигация: [[Система ejudge]]/[[Проверяющие программы]]/[[libchecker]]/[[Libchecker:Функции|Функции]]/[[Libchecker:Завершение работы|Завершение работы]]/[[Libchecker:fatal_read|fatal_read]] | |
void fatal_read(int ind, char const *format, ...); | void fatal_read(int ind, char const *format, ...); | ||
Line 17: | Line 17: | ||
Пример: | Пример: | ||
− | fatal_read(") expected"); | + | fatal_read(1, ") expected"); |
Latest revision as of 08:12, 28 August 2008
Навигация: Система 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(1, ") expected");