Libchecker:checker read FPTYPE ex
Навигация: Главная страница/Система ejudge/Проверяющие программы/libchecker/Функции/Чтение вещественных значений/Чтение вещественного значения из заданного файла
Данные функции позволяют считывать вещественное значение из файла.
int checker_read_double_ex(FILE *f, checker_error_func_t error_func, const char *name, int eof_error_flag, double *p_val); int checker_read_long_double_ex(FILE *f, checker_error_func_t error_func, const char *name, int eof_error_flag, long double *p_val);
Число считывается из файла f.
Параметр name — это строка или текст, описывающий считываемое значение. Он используется в случае ошибки при выводе диагностических сообщений.
Параметр eof_error_flag задает поведение функции в случае, если достигнут конец файла. Если параметр имеет ненулевое значение, то в случае невозможности чтения числа из-за достижения конца файла вызывается функция error_func для вывода сообщения об ошибке и завершения работы программы.
Если параметр eof_error_flag равен 0, то в случае достижения конца файла возвращается значение -1.
Параметр p_val — это адрес переменной, в которую должно быть помещено считанное значение.
Каждое число в файле должно быть отдельным элементом ввода, то есть при чтении числа сначала из файла считывается элемент ввода, после чего он конвертируется в число. Число должно соответствовать правилам записи вещественных чисел для стандартных библиотечных функций strtod и аналогичных. Поддерживаются числа в десятичной и шестнадцатиричной записи.
Если при чтении элемента ввода возникла ошибка ввода, программа завершается, и диагностируется внутренняя ошибка проверки. Для этого используется функция fatal_CF.
Функция предназначена для работы с текстовыми файлами. Если при чтении элемента ввода встречается символ, который недопустим в текстовом файле, вызывается функция error_func для выдачи сообщения об ошибке и завершения работы.
Если нарушен формат записи числа или число выходит за диапазон представимых значений заданного типа, вызывается функция error_func для выдачи сообщения об ошибке и завершения работы.
Функция возвращает значение 1 при успешном чтении и -1 при достижении конца файла, если параметр eof_error_flag равен 0. В случае возникновения ошибки, управление в вызывающую функцию не возвращается.