Libchecker:checker read file by line f

From EjudgeWiki

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

Функция checker_read_file_by_line — построчное чтение текстового файла в память.

void checker_read_file_by_line(FILE *f, char ***out_lines, size_t *out_lines_num);

Функция считывает содержимое текстового файла, задаваемого своим дескриптором потока f в память. В переменную, на которую указывает out_lines_num, будет записано число строк в считанном файле. В переменную, на которую указывает out_lines, будут записаны считанные строки текста. Эта переменная представляет из себя массив указателей на строки, всего в массиве элементов на 1 больше, чем строк в файле, и последний элемент массива всегда равен NULL. Каждая строка завершается нулевым байтом. Никаких других преобразований над входным файлом не выполняется. Пробелы и символы \n в конце текстовых строк входного файла сохраняются.

Функция не предназначена для работы с бинарными файлами.

Память для содержимого файла выделяется на куче с помощью функций xmalloc, xcalloc и xrealloc.

Функция не возвращает никакого значения. Если при чтении произошла ошибка ввода, программа завершается, и диагностируется внутренняя ошибка проверки.