Libchecker:checker read TYPE

From EjudgeWiki

Навигация: Главная страница/Система ejudge/Проверяющие программы/libchecker/Функции/Чтение целых значений/Чтение целого значения из файла, задаваемого индексом

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

int checker_read_int(int ind, const char *name, int eof_error_flag, int *p_val);
int checker_read_unsigned_int(int ind, const char *name, int eof_error_flag, unsigned int *p_val);
int checker_read_long_long(int ind, const char *name, int eof_error_flag, long long *p_val);
int checker_read_unsigned_long_long(int ind, const char *name, int eof_error_flag, unsigned long long *p_val);

Параметр ind — это индекс файла, из которого должно быть считано число. Параметр name — это строка или текст, описывающий считываемое значение. Он используется в случае ошибки при выводе диагностических сообщений. Параметр eof_error_flag задает поведение функции в случае, если достигнут конец файла. Если параметр имеет ненулевое значение, то в случае невозможности чтения числа из-за достижения конца файла диагностируется ошибка неправильного формата файла. Если параметр eof_error_flag равен 0, то в случае достижения конца файла возвращается значение -1. Параметр p_val — это адрес переменной, в которую должно быть помещено считанное значение.

Число в файле должно быть записано в десятичном виде с необязательными знаками + или - перед ним. Перед числом пропускаются пробельные символы. Если нарушен формат записи числа или число выходит за диапазон представимых значений заданного типа, диагностируется ошибка неправильного формата файла.

Функция возвращает значение 1 при успешном чтении и -1 при достижении конца файла, если параметр eof_error_flag равен 0. В случае возникновения ошибки чтения данных, управление в вызывающую функцию не возвращается.