![]() |
Модераторы: xvr |
![]() ![]() ![]() |
|
Дмитрий Т |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 16.3.2005 Где: Самара Репутация: нет Всего: 4 |
Подскажите пожалуйста с помощью какой библиотеки удобно читать/писать в файл конфигурацию для програмки. Хочется что-то типа ini файла, важно чтоб с подразделами.
|
|||
|
||||
Chuck |
|
|||
![]() Сушня ![]() ![]() Профиль Группа: Эксперт Сообщений: 442 Регистрация: 12.12.2003 Где: Узбекистан, Ташке нт Репутация: 2 Всего: 9 |
1. Способ парсить руками!
|
|||
|
||||
Дмитрий Т |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 16.3.2005 Где: Самара Репутация: нет Всего: 4 |
Библиотеки давно написаны, просто их много и я думал, что кто-то уже сравнил. |
|||
|
||||
bel_nikita |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: нет Всего: 47 |
||||
|
||||
Sun |
|
|||
Account removed ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1611 Регистрация: 14.8.2002 Репутация: 1 Всего: 48 |
В Unix принято писать писать конфигурационные фалы в следующем формате:
# comment VariableName = VariableValue Потом для получения значений можно запустить данный файл на выполнение. В результате переменным окружения будут присвоены значения. Далее через фукнцию char *getenv(const char *name) можно получать значения конкретной переменной. Такой способ работы с конфигурационными файлами часто используется в программах на Perle. Можно попробовать его и на C. -------------------- Account removed |
|||
|
||||
Дмитрий Т |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 16.3.2005 Где: Самара Репутация: нет Всего: 4 |
Интересная идея, а как писать в файл? В C++ Builder можно #include "IniFiles.hpp" и дальше считать строчку/записать строчку в нужную секцию - всё просто. |
|||
|
||||
Дмитрий Т |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 16.3.2005 Где: Самара Репутация: нет Всего: 4 |
http://sourceforge.net/projects/inifile/ |
|||
|
||||
Sun |
|
|||
Account removed ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1611 Регистрация: 14.8.2002 Репутация: 1 Всего: 48 |
Я тут подумал, что для C это не очень хороший способ. С ним больше неудобств чем удобств. Лучше все-таки парсить файл. -------------------- Account removed |
|||
|
||||
Chaos A.D. |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 172 Регистрация: 16.1.2005 Где: 09 RUS Репутация: нет Всего: 7 |
Мне понравилось, как с этим справляется класс QSettings из Qt. В добавок, получишь и кроссплатформенность на данном участке кода, т.к. для винды он будет все делать через реестр. --------------------
Надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума...Ken Kesey - One Flew Over The Cocoo's Nest |
|||
|
||||
Дмитрий Т |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 16.3.2005 Где: Самара Репутация: нет Всего: 4 |
Не хочу связываться с qt из-за их лицензии (там у них не всегда бесплатно). |
|||
|
||||
RoomanX |
|
||||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 19.1.2005 Репутация: нет Всего: нет |
Считаю, что с Qt можно связаться воспльзовавшись Некоммерческой версией. А именно класс QSettings |
||||
|
|||||
achmed |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 150 Регистрация: 12.4.2004 Репутация: нет Всего: нет |
рекомендую boost::program_options
|
|||
|
||||
Дмитрий Т |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 16.3.2005 Где: Самара Репутация: нет Всего: 4 |
А как там сохранять в конфигурационный файл? Насколько понял там только читать можно. |
|||
|
||||
achmed |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 150 Регистрация: 12.4.2004 Репутация: нет Всего: нет |
Ошибочка вышла, не умеет она сохранять, сам я юзал только для чтения параметров.
|
|||
|
||||
Дмитрий Т |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 16.3.2005 Где: Самара Репутация: нет Всего: 4 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Программирование под Unix/Linux" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |