Libchecker:checker read file

From EjudgeWiki

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

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

void checker_read_file(int ind, char **out, size_t *out_len);

Функция считывает содержимое файла, задаваемого своим индексом ind в память. В переменную, на которую указывает параметр out_len, будет записан размер считанного файла в байтах. В переменную, на которую указывает out, будет записано содержимое файла. После содержимого файла всегда дописывается нулевой байт, поэтому, если файл текстовый, то с переменной, в которую возвращено его содержимое, можно работать как со строкой. Память для содержимого файла выделяется на куче с помощью функций xmalloc и xrealloc.

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