Libxml2 - программа завершается при выполнении функции xmlReadFile() - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Привет. Делаю xml-parser, использую библиотеку libxml2. Почему-то программа завершается при выполнении функции xmlReadFile(). Не могу понять в чем дело Подскажите, пожалуйста, в чем проблема может быть?

Решение задачи: «Libxml2 - программа завершается при выполнении функции xmlReadFile()»

textual
Листинг программы
int main(int argc, char **argv)
{
   // здесь прога выполняется
   xmlDocPtr doc = xmlReadFile("test.xml", NULL, 0);
   // а до этого места уже не доходит...
   if(doc == NULL)
   {
      printf("Error parsing file %s\n", argv[1]);
      exit(1);
   }
   // здесь еще разные функции
   xmlFreeDoc(doc);
   return 0;
}

Объяснение кода листинга программы

  1. int main(int argc, char **argv) — это начало программы, где определяются входные параметры, передаваемые в функцию main.
  2. xmlDocPtr doc = xmlReadFile(test.xml, NULL, 0); — это функция, которая считывает XML-файл и возвращает указатель на структуру документа XML.
  3. if(doc == NULL) — это проверка, что документ был успешно считан.
  4. printf(Error parsing file %s\n, argv[1]); — это вывод сообщения об ошибке с указанием имени файла, который не удалось обработать.
  5. exit(1); — это выход из программы с кодом ошибки 1.
  6. xmlFreeDoc(doc); — это освобождение памяти, выделенной под структуру документа XML.
  7. return 0; — это успешный конец программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.167 из 5
Похожие ответы