Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
2 / 2 / 1
Регистрация: 23.11.2011
Сообщений: 87
1

Сохранение/чтение map<string,string*> в файл

30.04.2013, 18:34. Просмотров 1812. Ответов 2
Метки нет (Все метки)

Доброго времени суток,

Нужно сделать БД для индексации содержимого текстовых файлов, сначала решил, что все просто: читаем файл и записываем данные в виде map<"some_word","file_name_string">, соответственно, потом можно по запросу слова определить имена файлов, в которых оно встречается. Однако, если файлы очень большие и/или их много, имеет смысл сохранять данные на диск. Соответственно, при дальнейшем чтении может возникнуть проблема с нехваткой оперативной памяти(или неэффективным её использованием). На данный момент я обладаю навыками работы с файлами в стиле C, в случае с известным размером данных можно читать файл по блочно, указывая размер очередного блока для чтения, а как быть с map(ведь там данные не так уж просто хранятся)? Может их вообще в таком виде(map) не сохраняют(да и не очень представляю чтобы map([iterator])>>ostream работало), а строят при чтении из обычного файла-таблицы (пара - ключ значение)? И еще - как избежать повторения имен файлов (тоже ведь строка, а значит лишняя память), на ум приходит: сделать файл с парами номер - имя_файла, а в "словаре" будут пары слово - номер. Потом можно такой файл "ужать" для пущей "правильности". В общем я не в теме(сохранения/чтения контейнеров STL на диск), подскажите пожалуйста где прав/неправ или ссылкой полезной поделитесь.

Заранее благодарю.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.04.2013, 18:34
Ответы с готовыми решениями:

Доступ к паре в map<string, vector<pair<string, string>>>Temp
Подскажите пожалуйста как получить данные в векторе пар ? void showData(const map&lt;string,...

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

Запись значения в map<string, map<string,string>>
Как корректно записать значение в map&lt;string, map&lt;string,string&gt;&gt;? Добавлено через 27 минут...

Как перебрать все элементы в map<string, vector<string>>
Доброго времени суток. Решаю следующую задачу: В файле есть сведения об автомобилях: марка...

2
В астрале
Эксперт С++
8023 / 4780 / 654
Регистрация: 24.06.2010
Сообщений: 10,558
30.04.2013, 18:42 2
awpe, boost::serialization или нечто вроде. Просто так не записать.
0
2 / 2 / 1
Регистрация: 23.11.2011
Сообщений: 87
30.04.2013, 19:13  [ТС] 3
Тогда остается словарь только использовать, и каждый раз строить структуру. А в STL есть что-нибудь для сжатия текста?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.04.2013, 19:13

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Есть ли аналог Map <String,String> чтобы передавать его как указатель на данные?
Добрый день, подскажите, есть ли аналог Map &lt;String,String&gt; чтобы передавать его как указатель на...

Вывод содержимого map<string, set<string>>
Необходимо реализовать серверную часть словарика синонимов, где внесение синонимов имеет формат...

Вывод элементов map <string,vector<string>>
Доброго времени суток. Как можно вывести массив map &lt;string,vector&lt;string&gt;&gt; mp ? Могу только...

Работа с map<string, map<string, string>>
Всем привет! Что-то запарился в неожиданном месте... Есть тип данных, который выглядит так: ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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