Difference between revisions of "Libchecker:fatal CF"

From EjudgeWiki
 
Line 1: Line 1:
Вернуться к функциям [[Libchecker:Завершение работы|завершения работы]].
+
Навигация: [[Система ejudge]]/[[Проверяющие программы]]/[[libchecker]]/[[Libchecker:Функции|Функции]]/[[Libchecker:Завершение работы|Завершение работы]]/[[Libchecker:fatal_CF|fatal_CF]]
  
 
  void fatal_CF(char const *format, ...);
 
  void fatal_CF(char const *format, ...);

Latest revision as of 07:58, 22 August 2008

Навигация: Система ejudge/Проверяющие программы/libchecker/Функции/Завершение работы/fatal_CF

void fatal_CF(char const *format, ...);

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

Аргумент format задаёт спецификацию форматного преобразования функции printf для диагностического сообщения. Символ перехода на новую строку \n добавляется при выводе автоматически, поэтому он не требуется в конце диагностического сообщения.

Функция fatal_CF должна использоваться для завершения работы проверяющей программы в следующих случаях:

  • входные данные некорректны или не удовлетворяют ограничениям задачи
  • эталонный ответ некорректен
  • при работе проверяющей программы возникла ошибка, которая не позволяет проверить правильность выходного файла тестируемой программы (например, не хватило динамической памяти)

Пример:

fatal_CF("x must be > 1 in input, but got %d", x);