Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Qwe1
1 / 1 / 0
Регистрация: 18.08.2011
Сообщений: 35
#1

Записать в ::map ini-файл - C++

18.08.2011, 13:10. Просмотров 1112. Ответов 3
Метки нет (Все метки)

Есть большой ini-файл, в ListView вывожу название секций, при выборе конкретной строки списка вывожу соответствующие значения ключей (текстом в ListBox). Получается, при каждом выборе строки идет обращение к ini-файлу. Можно ли предварительно весь ini-файл записать в ::map? Ключами будут названия секций (они уникальны). Все еще усложнятся из-за того, что в разных секциях бывает разное число ключей path<i>. Пример файла во вложении. Одним словом, нужно что-то такое:
map<string, {сложная_структура} > MyMap;
Если такое возможно реализовать, то как это сделать?
Вложения
Тип файла: txt example.ini.txt (340 байт, 28 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.08.2011, 13:10     Записать в ::map ini-файл
Посмотрите здесь:

std::map find. Получить ключ(элемент) и как записать все данные при объявлений? - C++
Вопрос первый: как получить ключ контейнера map по данным? например: // id, name std::map&lt;int, string&gt; BookMap; BookMap bookmap; ...

Заполнить INI файл - C++
Записываю я вот так: IniWrite(Имя файла, Секция, Ключ, Значение); bool IniWrite(char *filename, char *section, char *key, char...

как сохронять в ini файл - C++
как сохранять переменные В ini файл и как с него считывать если можно напишите пример программы

Обращение к элементам vector, который находится в map, находящийся в map - C++
Всем добрый день! Имеется такой контейнер. Как обращаться к элементам вектора и как пушбэчить его? map &lt;int,map&lt;int,vector&lt;int&gt; &gt;...

Трансформация xml файла в INI файл - C++
Здравствуйте. Собственно говоря, дали задание (в названии). Проблема в том, что с этим я совсем не знаком. Кто может подсказать, что и где...

Сохрание настроек формы в ini файл - C++
Скажите пожалуйста, как создать и сохранить в ini файл местоположение формы на экране? (с++) Заранее спасибо

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
18.08.2011, 13:21     Записать в ::map ini-файл #2
Qwe1, Значения только строковые?

C++
1
typedef std::map<std::string, std::vector<std::string> > MyMap;
или если с разбитием.

C++
1
2
3
4
5
6
7
struct section
{
   std::string key;
   std::string value;
};
 
typedef std::map<std::string, std::vector<section> > MyMap;
Qwe1
1 / 1 / 0
Регистрация: 18.08.2011
Сообщений: 35
18.08.2011, 13:38  [ТС]     Записать в ::map ini-файл #3
Значения только строковые, а как добавить информацию из файла в эту ::map (API-шными функциями значения ini-файла получать умею).
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.08.2011, 13:52     Записать в ::map ini-файл
Еще ссылки по теме:

Невозможно поместить строку map<string,float>pairs_map; в .h-файл - C++
Делаю проект,есть 3 файла : // project_header.h #ifndef PROJECT_HEADER_H_INCLUDED #define PROJECT_HEADER_H_INCLUDED #include...

Возможно ли создать контейнер std::map, в котором в качестве значения была бы ссылка на std::map? - C++
Здравствуйте. Возможно ли создать контейнер std::map, в котором в качестве значения была бы ссылка на std map? Например: std::map...

Как вставить элемент и вывести элементы на экран в map<string, map<string,int>> ? - C++
У меня есть map&lt;string, map&lt;string,int&gt;&gt;, в него надо добавить элементы (типа Ivanov potato 200) Использовать именно map&lt;string,...

Файл: Записать в файл g целые числа b1..bn по следющим условиям: b[i] = i и b[i] = 2^i +3^(i+1) - C++
Дано натуральное n. Записать в файл g целые числа b1..bn, определенные так , как в этих пунктах: а) i ; б) д) 2^i +3^(i+1) Решите на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
18.08.2011, 13:52     Записать в ::map ini-файл #4
Qwe1,

Ну как бэ что-то вроде.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
typedef std::pair<std::string, std::vector<std::string> > res_pair;
 
res_pair parse_section(std::ofstream& ofs)
{
    std::string key_section;
    //Считали ключ секции и положили в key_section
    std::vector<std::string> values;
    std::string value;
    //Считываем либо все сразу, либо по одному циклом в какую-нибудь переменную. Пусть будет value.
    values.push_back(string);
    return res_pair(key_section, values);
}
 
MyMap parse_file(const std::string& f_name)
{
    MyMap mp;
    //Открыли файл. Циклом бегаем по файлику.
    while(!ifs)
    {
        mp.insert(parse_section(ifs));
    }
    return mp;
}
Yandex
Объявления
18.08.2011, 13:52     Записать в ::map ini-файл
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru