Библиотека парсинга конфигурационных файлов (На C)
Модератор: Модераторы разделов
-
vonabarak
- Сообщения: 146
Библиотека парсинга конфигурационных файлов
Посоветуйте хороший сабж. Смотрел на libconfig но там синтаксис конфигов сильно усложнен, нужно что-то проще. Для совсем маленькой программы. Рассматриваю как вариант glib, но не знаю, стоит ли ради одного только конфига тянуть за собой столь обширную либу. Лучше бы что-то отдельное. Формат конфига еще не определен.
Йа тьомный эльф
-
NickLion
- Сообщения: 3408
- Статус: аватар-невидимка
- ОС: openSUSE Tumbleweed x86_64
Re: Библиотека парсинга конфигурационных файлов
Если формат предполагается простой вида:
параметр=значение
то почему просто не считывать и построчно (fgets), по первому символу вычёркивать комментарии, а всё что прошло:
sscanf( line, "%[^=]=%[^\n]", param, value );
затем в соответствии с именем параметра аналогично парсить значение.
параметр=значение
то почему просто не считывать и построчно (fgets), по первому символу вычёркивать комментарии, а всё что прошло:
sscanf( line, "%[^=]=%[^\n]", param, value );
затем в соответствии с именем параметра аналогично парсить значение.
-
vonabarak
- Сообщения: 146
Re: Библиотека парсинга конфигурационных файлов
Да, признаться сам об этом подумывал. Пожалуй так и поступлю.
Йа тьомный эльф
-
mrcashe
- Сообщения: 18
Re: Библиотека парсинга конфигурационных файлов
NickLion писал(а): ↑19.02.2010 07:54Если формат предполагается простой вида:
параметр=значение
то почему просто не считывать и построчно (fgets), по первому символу вычёркивать комментарии, а всё что прошло:
sscanf( line, "%[^=]=%[^\n]", param, value );
затем в соответствии с именем параметра аналогично парсить значение.
+1, сам много раз так делал. Если glib используется, тогда использую GKeyFile, иначе - вручную.
-
Alxn1
- Сообщения: 402
- Статус: Красноглазик со стажем
- ОС: Mavericks
Re: Библиотека парсинга конфигурационных файлов
http://sourceforge.net/projects/libini/ - библитека, которая пишет-читает обычные ini-файлы. Только что оно 2004-м годом датируется, зато маленькая и обычные ini 