不用VC中的Document能否存储数据(2)
#define DATA_FILE _T("DataTest.dat")
void SaveData()                  
//  Code to serialize and save the data
{
    UINT nFlags = CFile::typeBinary | CFile::modeWrite;
    if (_access(DATA_FILE, 0))
    {
        nFlags |= CFile::modeCreate;            
        // The file doesn't exist, so create it
        
        m_bCanSave = TRUE;
    }
    else
    {
        int nTemp = _access(DATA_FILE, 6);  
        // Check Read Write Permissions
        if(nTemp==0)
            m_bCanSave = TRUE;
    }
    if (m_bCanSave)
    {
        CFile file;
        CFileException fe;
        // The file exists with read & write permissions
        if (file.Open(DATA_FILE, nFlags, &fe))
        {
            CArchive ar(&file, CArchive::store);
            UpdateData(TRUE);
            CSerData.m_nID = m_nID;
            CSerData.m_strName = m_strName;
            CSerData.Serialize(ar); // Serialize the data
        }
    }   
}
上面的save操作已经结束,我想该是load的时候了
void LoadData()
//Code to load data
{
    if (_access(DATA_FILE, 6)==0) // If File Exists
    {
        CFile file;
        CFileException fe;
        if (file.Open(DATA_FILE,CFile::typeBinary | 
            CFile::modeRead, &fe))
        {
            CArchive ar(&file, CArchive::load);
            Info.Serialize(ar);
        }
}
    m_nID = CSerData.m_nID;
    m_strName = CSerData.m_strName;
    UpdateData(FALSE);
}
终于写完了,希望不是那么糟糕.希望有点人气度.我在上面说了,本文只适合初学者如果你是高手,读到这儿.就已经说明,你今天很闲,或者你是来找点茶余饭后的消遣那好吧,我的文章希望就能带给你们这么多,下次见.
- 上一篇:vc数据类型转换大全
 - 下一篇:谈谈VC++中两种函数调用方式的区别
 

