CArchive不是可以序列化对象吗?那序列化树怎样做呢?
我如下方法做,不对,知道的人说下好吗?先谢谢啦
CFile saveFile;
char dname[20];
strcpy(dname,uname);  //uname是文件名,已知的啦
strcat(dname,".txt");
saveFile.Open(dname,CFile::modeWrite);
CArchive archive(&saveFile,CArchive::store);
archive << &m_ctrlTree;
archive.Flush();
archive.Close();
saveFile.Close();

解决方案 »

  1.   

    没人答吗?
    各位知道的说下,等待ing,,,
      

  2.   

    一般不会这么序列化的如果你写了 树的类那么重载树的 Serialize 函数,在这个函数里序列化如果没有 那在视图的类中重载这个函数Doc 中序列化时只要把 ar 传给视图或者树就行了
      

  3.   


    对,我的树是绑着有结构体的,我对序列化不熟,以为archive < < &m_ctrlTree; 那么树绑着的结构体也会可以存起来,看来我错了??
    要怎样序列化这颗树、序列化数据?可以再说说吗?
      

  4.   

    要将树信息保存到文件中,最重要的就是记录好每一个节点与其它结点的关系,将关系保存后在数据载入时你的程序能够识别这些关系从而重建你树。
    CArchive是用来对序列化进行包装的,但它只是一个框架,不可能预测出程序员要做的每一件事的。
      

  5.   

    你要序列化树控件也不是不行,重载CTreeCtrl::Serilize()函数,在里面实现写入和读取的代码。