Библиотека парсинга конфигурационных файлов (На C)

Модератор: Модераторы разделов

Аватара пользователя
vonabarak
Сообщения: 146

Библиотека парсинга конфигурационных файлов

Сообщение vonabarak »

Посоветуйте хороший сабж. Смотрел на libconfig но там синтаксис конфигов сильно усложнен, нужно что-то проще. Для совсем маленькой программы. Рассматриваю как вариант glib, но не знаю, стоит ли ради одного только конфига тянуть за собой столь обширную либу. Лучше бы что-то отдельное. Формат конфига еще не определен.
Йа тьомный эльф
Спасибо сказали:
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: Библиотека парсинга конфигурационных файлов

Сообщение NickLion »

Если формат предполагается простой вида:
параметр=значение
то почему просто не считывать и построчно (fgets), по первому символу вычёркивать комментарии, а всё что прошло:
sscanf( line, "%[^=]=%[^\n]", param, value );
затем в соответствии с именем параметра аналогично парсить значение.
Спасибо сказали:
Аватара пользователя
vonabarak
Сообщения: 146

Re: Библиотека парсинга конфигурационных файлов

Сообщение vonabarak »

Да, признаться сам об этом подумывал. Пожалуй так и поступлю.
Йа тьомный эльф
Спасибо сказали:
mrcashe
Сообщения: 18

Re: Библиотека парсинга конфигурационных файлов

Сообщение mrcashe »

NickLion писал(а):
19.02.2010 07:54
Если формат предполагается простой вида:
параметр=значение
то почему просто не считывать и построчно (fgets), по первому символу вычёркивать комментарии, а всё что прошло:
sscanf( line, "%[^=]=%[^\n]", param, value );
затем в соответствии с именем параметра аналогично парсить значение.

+1, сам много раз так делал. Если glib используется, тогда использую GKeyFile, иначе - вручную.
Спасибо сказали:
Аватара пользователя
Alxn1
Сообщения: 402
Статус: Красноглазик со стажем
ОС: Mavericks

Re: Библиотека парсинга конфигурационных файлов

Сообщение Alxn1 »

http://sourceforge.net/projects/libini/ - библитека, которая пишет-читает обычные ini-файлы. Только что оно 2004-м годом датируется, зато маленькая и обычные ini :)
Спасибо сказали: