Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.09.2009, 01:46   #1
nimizida
 
Регистрация: 29.09.2009
Сообщений: 3
По умолчанию запись содержимого STL::multimap в файл с сохранением пар

У мну есть контейнер STL мультимап,

Код:
struct groups
{
TCHAR groupz[200];
TCHAR IDgroup[200];
};
struct student
{
	TCHAR IDG[200];
	TCHAR IDS[200];
	TCHAR FIO[200];
	TCHAR birtday[200];
	TCHAR YOURSYEAR[200];
	TCHAR e_mail[200];
	TCHAR adres[200];
	TCHAR telephone[200];
	TCHAR TeachPlace[200];
	TCHAR YOURWork[200];
};
 multimap<TCHAR*,TCHAR*>m;
 multimap<TCHAR*,TCHAR*> iter;
  m.insert(make_pair(g->IDgroup,s->IDS));
					m.insert(make_pair(s->IDS,s->adres));
					m.insert(make_pair(s->IDS,s->birtday));
					m.insert(make_pair(s->IDS,s->e_mail));
					m.insert(make_pair(s->IDS,s->FIO));
					m.insert(make_pair(s->IDS,s->TeachPlace));
					m.insert(make_pair(s->IDS,s->telephone));
					m.insert(make_pair(s->IDS,s->YOURSYEAR));
					m.insert(make_pair(s->IDS,s->YOURWork));
Я хочу все что есть в нем записать в файл,так чтобы сохранились пары как мне лучше это будет сделать???
nimizida вне форума Ответить с цитированием
Старый 29.09.2009, 01:56   #2
nimizida
 
Регистрация: 29.09.2009
Сообщений: 3
По умолчанию

То есть записывать каждый елемент как попало,а потом уже при считывании файла складывать в мультимап,или можно как то записать контейнер весь разом,какие есть варианты?Заранее спасибо!
nimizida вне форума Ответить с цитированием
Старый 29.09.2009, 02:20   #3
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Контейнер записывать нет смысла, ведь в нём лишь указатели, при повторном запуске программы по-любому адреса у строк другие будут.
Можно сами структуры записывать, а потом грузить их из файла.
Код:
std::ofstream out("C:\\out.txt", std::ios::out | std::ios::binary);
out.write((char*)g, sizeof(groups));
out.write((char*)s, sizeof(student));
out.close();
netrino вне форума Ответить с цитированием
Старый 29.09.2009, 02:25   #4
nimizida
 
Регистрация: 29.09.2009
Сообщений: 3
По умолчанию

Дык,я ж не могу предугадать размеры всех слов(((А получается там где ячейки свободны там пробелы:
Например:
ююююююююююююююююююююююююююююююююююю ююююююююююююююююююююююююююююююююююю ююююююююююююююююююююююююююююююююююю юююююююююc o d e r ююююююююююююююююююююююююююююююююююю ююююююююююююююююююююююююююююююююююю юю


Слово coder то что лежало в структуре
nimizida вне форума Ответить с цитированием
Старый 29.09.2009, 17:03   #5
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от nimizida Посмотреть сообщение
Дык,я ж не могу предугадать размеры всех слов(((А получается там где ячейки свободны там пробелы:
Например:
ююююююююююююююююююююююююююююююююююю ююююююююююююююююююююююююююююююююююю ююююююююююююююююююююююююююююююююююю юююююююююc o d e r ююююююююююююююююююююююююююююююююююю ююююююююююююююююююююююююююююююююююю юю


Слово coder то что лежало в структуре
Не совсем понятно, что Вы имеете ввиду... Зачем предугадывать размеры слов?
netrino вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с сохранением вектора в файл slonik123 Общие вопросы C/C++ 0 15.05.2009 17:48
Запись в файл Lemo Помощь студентам 3 01.03.2009 19:06
Сохранение содержимого StringList в файл rainbow Общие вопросы Delphi 1 19.11.2008 10:34
Запись в файл |{ot Общие вопросы Delphi 6 05.07.2008 02:24
Запись в файл С++ Viteks Общие вопросы C/C++ 3 18.04.2008 13:18