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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.02.2011, 21:26   #1
KemanSR
Форумчанин
 
Регистрация: 03.05.2010
Сообщений: 129
По умолчанию MFC: Serialize CArray

Если кто-то сталкивался с сериализацией в Visual C++, подскажите:
Код:
struct ST{CString s;};
CArray<ST, ST> m_aST;
void CDoc::Serialize(CArchive& ar)
{
m_aST.Serialize(ar);
}
В файле архива сохраняется размер массива и (по-моему) указатели на члены массива. При загрузке из архива в m_aST храняться "мусорные" члены("ЭЭЭЭЭЭЭ..."). Конечно можно как-то так:
Код:
void CDoc::Serialize(CArchive& ar)
{
if(ar.IsStoring())
{
ar << m_aST.GetSize();
for(int i = 0; i < m_aST.GetSize(); i++)
{
ar << m_aST[i].s;
}
}
else
{
//Ну и загружаем в таком-же роде
}
}
Но почему не работает m_aST.Serialize(ar); ?
KemanSR вне форума Ответить с цитированием
Старый 03.02.2011, 18:25   #2
KemanSR
Форумчанин
 
Регистрация: 03.05.2010
Сообщений: 129
По умолчанию

MFC здесь не обсуждают?
KemanSR вне форума Ответить с цитированием
Старый 03.02.2011, 20:58   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
MFC здесь не обсуждают?
Возможно просто никто не сталкивался...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.02.2011, 22:04   #4
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

А в файле данные какие сохраняются?
Я, например, делал через файловые потоки сохранение (но это в C#)
psycho-coder вне форума Ответить с цитированием
Старый 04.02.2011, 06:26   #5
KemanSR
Форумчанин
 
Регистрация: 03.05.2010
Сообщений: 129
По умолчанию

Цитата:
Сообщение от psycho-coder Посмотреть сообщение
А в файле данные какие сохраняются?
В файле должен сохраниться массив структур, структура содержит поле CString. Вообще если сохранять объекты типа CString, то при просмотре файла данные имеют нормальный вид, а вот при создании объекта структуры и помещении его в массив, после сериализации данные "искажаются".
KemanSR вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MFC или Qt? k1r1ch Visual C++ 11 11.06.2010 12:17
MFC BioS Win Api 2 19.04.2010 17:52
MFC Cdevelop Visual C++ 4 18.03.2009 21:28
Visual c++(MFC) CUtty Visual C++ 1 13.10.2008 21:21
MFC Diman2008 Visual C++ 2 06.03.2008 16:24