Считывать конфиги

vbgt99912

Кто-нибудь знает, есть ли в С++ модуль (стандартный, или просто более-менее распространенный позволяющий считывать .conf файлы (под linux)?
В смысле, хоть в каком-то варианте синтаксиса (по-моему, они бывают разные)
Что-то вроде аналога парсера виндовых INI-файлов (встроенного в целую кучу чего)
Тот же вопрос про perl...

Ober

ini: сцылка
а вообще, конечно, в гугл!

vbgt99912

Спасибо, но INI руками очень неудобно править...

Ober

Спасибо, но INI руками очень неудобно править...
Так что же ты ищешь? Пока что непонятно...
А если тебе нравится какой-то свой мегаудобный формат, ну и напиши для него парсер. Подумаешь, одним велосипедом больше

vbgt99912

Ну в целом большинство .conf файлов, с которыми я встречался имеют примерно одинаковый синтаксис/семантику
Вдруг, это не телепатическая связь разработчиков, а задокументированный формат... Тогда наверное есть и парсер.
Писать отдельный модуль - лень, а колхозо-крестянский метод уже довольно противно выглядит на фоте прибранного основного кода

Ober

Вдруг, это не телепатическая связь разработчиков, а задокументированный формат...
Пример что ли приведи...

vbgt99912

/etc/*.conf лежит куча дефолтных конфигов разных служб
Они чем-то похожи (мое субъективное мнение)
Их сюда залить? Просто это не очень легко - смотреть надо, где пароли всякие не лежат

Ober

/etc/*.conf лежит куча дефолтных конфигов разных служб
Они чем-то похожи (мое субъективное мнение)
Разумеется, у них очень много общего
Только всё-таки smb.conf, resolv.conf, httpd.conf и, скажем, fonts.conf () чем-то отличаются или нет?

Ivan8209

> /etc/*.conf лежит куча дефолтных конфигов разных служб
> Они чем-то похожи (мое субъективное мнение)

$ grep -h MAKECONF /usr/share/mk/*
the user to define in MAKECONF (see <bsd.own.mk>, below) or on the make(1)
include the file specified by the "MAKECONF" variable. If MAKECONF is not
MAKECONF?= /etc/mk.conf
.-include "${MAKECONF}"


$ file /etc/rc
/etc/rc: Bourne shell script text executable
$ grep etc.rc.conf /etc/rc
. /etc/rc.conf
echo "/etc/rc.conf is not configured. Multiuser boot aborted."


$ file /etc/sysctl.conf
/etc/sysctl.conf: a /sbin/sysctl -f script text executable

Действительно, чем-то они похожи.
---
"Аллах не ведёт людей неверных."

vbgt99912

В общем, я понял - формата, видимо, нет

Ivan8209

Зато есть общие процедуры распознавания: getsubopt, strtok.
---
"Аллах не ведёт людей неверных."

erotic

Мб Boost::program_options подойдет? Он вроде работал с какими-то файлами, но я не помню, с какими

vbgt99912

Спасибо, поизучаю
Оставить комментарий
Имя или ник:
Комментарий: