СArray
От: Xenia США  
Дата: 04.04.02 17:06
Оценка:
Здравствуйте!
Имеется такой код:

struct Info{
    CString razd;
    CString stroka;
};
CArray<Info,Info> nastr;
//и две фуекции - одна создает файл а другая затем его читает
void CNastr::CreateFile()
{
    Info inf;
    CFile file("nastr.nas", CFile::modeWrite | CFile::modeCreate);
    CArchive ar(&file, CArchive::store);
    int ArSize=nastr.GetSize();
    ar.Write(&ArSize,sizeof(int));
    for (int i=0;i<ArSize;i++)
    {
    inf = nastr.GetAt(i);
    ar.Write(&inf,sizeof(Info));
    }
    ar.Close();
    file.Close();
}

void CNastr::Init()
{
   CFile file("nastr.nas", CFile::modeRead);
   CArchive ar(&file, CArchive::load);
   int ArSize;
   Info inf=new Info;
   ar.Read(ArSize,sizeof(int));
   for (int i=0;i<ArSize;i++)
   {
      ar.Read(inf,sizeof(Info));
      nastr.Add(inf);
   }
   ar.Close();
   file.Close();
}

При чтении файла вываливается Assertion Failed, File dbgheap.c Line 1011 Expression _CrtlsValidHeapPointer(pUserData)
Чего ему не хватает :???:
Пробовала выделять память динамически, но это не помогает.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.