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

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

Войти
Регистрация
Восстановить пароль
 
awpe
2 / 2 / 0
Регистрация: 23.11.2011
Сообщений: 87
#1

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

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

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

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

Заранее благодарю.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.04.2013, 18:34     сохранение/чтение map<string,string*> в файл
Посмотрите здесь:

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

Сериализация объектов с полями std::string + запись/чтение в файл - C++
Здравствуйте! Есть класс: class Guest { private: std::string login;

Map и string - C++
Добрый день, уважаемые программисты! Прошу вас, пояснить пожалуйста следующий код : #include &lt;iostream&gt; #include &lt;string&gt; ...

map <string[],double> - C++
Возникла необходимость в конструкции вида: =&gt;значение выбрал map &lt;string,double&gt; но как определять элементы никак не разберусь ...

Преобразование map в string - C++
Доброго времени суток. Есть программа для подсчета количества слов в тексте #include &lt;iostream&gt; #include &lt;fstream&gt; #include...

Конвертирование из vector<string> в map - C++
Здравствуйте! Подскажите, пожалуйста, как из vector&lt;string&gt; считать элементы вектора в map. Изначально дан текстовый файл, в котором...

Std::map <string, class> ОШИБКА C2512 - C++
Есть следующий код: #include &lt;vector&gt; #include &lt;map&gt; class Aluy { public: Aluy (int x, int y) { int z = x+y; ...

Куда будет указывать указатель в std::map<string,pointer *>? - C++
Чисто теоретически,хотелось бы узнать у знатоков C++ Допустим есть некий контейнер std::map&lt;const string, someClass *&gt; container И...

Сохранение кириллицы в string - C++
Проблема в том, что при сохранении русского текста в переменную string записывается какая-то ересть и при отладке можно увидеть такую...

Чтение/запись string - C++
Есть массив объектов, хочу записывать и читать его в файл в бинарном виде. Одно поле объекта - строка string. Как правильно и наиболее...

string чтение из файла - C++
Надо считать из файла в массив символы которые лежат в скобках(по одному в каждых) Подскажите как сделать Добавлено через 1 час 31...

Чтение из файла в массив string - C++
Есть файл с 50 строками (в конце последней - '\n') и код чтения строк в массив string. При чтении идёт подсчёт считанных строк. Если...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
30.04.2013, 18:42     сохранение/чтение map<string,string*> в файл #2
awpe, boost::serialization или нечто вроде. Просто так не записать.
awpe
2 / 2 / 0
Регистрация: 23.11.2011
Сообщений: 87
30.04.2013, 19:13  [ТС]     сохранение/чтение map<string,string*> в файл #3
Тогда остается словарь только использовать, и каждый раз строить структуру. А в STL есть что-нибудь для сжатия текста?
Ответ Создать тему
Опции темы

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