| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 720 人关注过本帖
标题:管理系统序列化以及写入写出问题
只看楼主 加入收藏
xiaqizjy
Rank: 1
等 级:新手上路
帖 子:29
专家分:5
注 册:2013-7-22
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
管理系统序列化以及写入写出问题
22222.rar (79.24 KB)
新手写的教师住房管理系统,老师要求存盘数据,DOC代码里的序列化函数好像有问题,,但怎么都找不到问题出在哪。。调试中又一次调试好了,但是生成列表时程序出错,好像是写入写出也有问题,,菜鸟想破脑袋也不知道怎么回事。,。求大神指导,,用户名密码都是admin
搜索更多相关主题的帖子: 管理系统 用户名 admin 教师 
2013-09-08 13:47
yuccn
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:5 
1
CString        worky;
if(a[i].worky>1)   CString        和1 怎么比较?

 
a[u].Serialize(ar);   
错误       error C2248: “CArchive::CArchive”: 无法访问 protected 成员(在“CArchive”类中声明)    c:\users\yuccn\desktop\22222\22222doc.cpp    73


我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-09-08 19:44
xiaqizjy
Rank: 1
等 级:新手上路
帖 子:29
专家分:5
注 册:2013-7-22
收藏
得分:0 
回复 2楼 yuccn
请问大神第二个问题该怎么解决、、
2013-09-09 00:18
xiaqizjy
Rank: 1
等 级:新手上路
帖 子:29
专家分:5
注 册:2013-7-22
收藏
得分:0 
回复 楼主 xiaqizjy
大神,这个程序第一遍运行没有问题了,第二遍运行就会arccore文件出错,应该是文件序列化的问题、、、写入写出有问题。。求大神帮忙看看行吗?~刚学MFC的菜鸟老师布置的作业、、实在找不出问题所在因为对序列化实在是不了解
2013-09-10 16:21
xiaqizjy
Rank: 1
等 级:新手上路
帖 子:29
专家分:5
注 册:2013-7-22
收藏
得分:0 
回复 楼主 xiaqizjy
22222.rar (80.07 KB)
2013-09-10 16:21
我菜119
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
收藏
得分:15 
刚才给你看了下,说实在的,刚开始我也没找到问题所在,后来仔细看了一下,哥啊,if(ar.IsStoring())时,应采用ar<<XXX,好不?还得我找了半天也没找到问题所在,其次还有一个问题是
程序代码:
CMy22222Doc::CMy22222Doc()
{
        // TODO: add one-time construction code here
    CFile file;
    if(!file.Open("data.txt",CFile::modeRead))
    {
        return;
    }
    //这段代码注释掉,因为已经Open了,所以不需要再次Open了
    /*
    else
    {
        file.Open("data.txt",CFile::modeRead);
    }
    */

    CArchive Ar(&file,CArchive::load);           
    Serialize(Ar); 

}


程序代码:
void Serialize(CArchive &ar)
    {
        if(ar.IsStoring())
        {
            ar<<bornf; //注意:是<<
            ar<<bornm;
            ar<<borny;
            ar<<hy;
            ar<<level;
            ar<<name;
            ar<<score;
            ar<<sex;
            ar<<sq;
            ar<<square;
            ar<<workf;
            ar<<workm;
            ar<<worky;
            ar<<xl;
            ar<<xlf;
            ar<<zc;
            ar<<zcf;
        }
        else
        {
            ar>>bornf; //注意:是>>
            ar>>bornm;
            ar>>borny;
            ar>>hy;
            ar>>level;
            ar>>name;
            ar>>score;
            ar>>sex;
            ar>>sq;
            ar>>square;
            ar>>workf;
            ar>>workm;
            ar>>worky;
            ar>>xl;
            ar>>xlf;
            ar>>zc;
            ar>>zcf;
        }
    }

愿用余生致力编程
2013-09-10 23:05
我菜119
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
收藏
得分:0 
说到序列化(或者串行化),你的这种用法倒也是可以的,先构造类的对象,然后从本地文件读取依次填充类对象成员,这种方式主要是调用Serialize()函数,不同于调用CArchive<< 和 CArchive >>,那你在类中使用的DECLARE_SERIAL和IMPLEMENT_SERIAL宏就没有什么用了,也不必从CObject类派生!

愿用余生致力编程
2013-09-10 23:12
xiaqizjy
Rank: 1
等 级:新手上路
帖 子:29
专家分:5
注 册:2013-7-22
收藏
得分:0 
回复 6楼 我菜119
谢谢大神指导、、~
2013-09-11 02:52
快速回复:管理系统序列化以及写入写出问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030035 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved