Подтвердить что ты не робот

Использовать INI файл в C на Linux

Есть ли стандартный способ чтения такой конфигурации, как INI файлы для Linux с помощью C?

Я работаю над карманным компьютером на базе Linux и пишу код в C.

В противном случае мне хотелось бы узнать о любых альтернативах.

Окончательное обновление:

Я изучил и даже использовал LibConfig. Но след высок, и мое использование слишком простое. Таким образом, чтобы уменьшить след, я развернул свою собственную реализацию. Реализация не является слишком обобщенной, на самом деле довольно сложной. Файл конфигурации анализируется один раз во время запуска приложения и устанавливается на некоторые глобальные переменные.

4b9b3361

Ответ 1

Попробуйте libconfig:

простая библиотека для обработки структурированных файлов конфигурации, такая как: test.cfg. Этот формат файла более компактен и читабельнее, чем XML. И в отличие от XML, это относится к типу, поэтому нет необходимости выполнять строковый синтаксический анализ в коде приложения.

Libconfig очень компактен - это часть размера библиотеки парсера expat XML. Это делает его хорошо подходящим для систем с ограничением памяти, таких как карманные устройства.

Библиотека включает в себя привязки для языков C и С++. Он работает с совместимыми с POSIX UNIX и UNIX-подобными системами (GNU/Linux, Mac OS X, Solaris, FreeBSD), Android и Windows (2000, XP и более поздние версии)...

Ответ 4

Если вы можете использовать (отлично, в любом приложении на основе C) glib, он имеет синтаксический анализатор ключевых слов, который подходит для файлов в стиле .ini. Конечно, вы также получите доступ к различным (очень красивым) структурам данных в glib, "бесплатно".

Ответ 5

Существует обновленная версия foriparser в ccan, автор не смог уделить этому много внимания на протяжении многих лет, Отказ от ответственности - я поддерживаю его.

Кроме того, iniparser содержит словарь, который очень полезен сам по себе.

Ответ 6

Если вам нужен быстрый и маленький код для чтения файлов конфигурации, я предлагаю inih

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

Действительно мало. Он также может использоваться для встроенных систем.

Ответ 7

Ненавижу предлагать что-то совершенно другое, предлагая XML, но libexpat довольно минимален, но делает XML.

Я пришел к такому выводу, поскольку у меня был тот же вопрос, что и у вас, но потом я понял, что проект уже связан с libexpat, и я должен, вероятно, просто использовать его.