VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 621|回复: 2

[求助] CFile不懂,急死我了

[复制链接]
20_avatar_middle
在线会员 发表于 2018-8-4 14:07:28 | 显示全部楼层 |阅读模式
3驿站币
有大佬帮看下这是怎么回事吗?这个CFile我不是很懂,卡着2天了。这是我写程序文件的打开方式,这个可以写入。
int CWriteTxtDlg::InitData()
{
        CFileFind oFilefind;
        CString sFile;
        sFile.Format(_T("D:\\Test.txt"));
        if( oFilefind.FindFile(sFile) )
        {
                if( m_oFile.Open(sFile,CFile::modeCreate | CFile::modeNoTruncate | CFile::modeReadWrite | CFile::shareDenyWrite) )
                {
                        m_oFile.SeekToEnd();
                }
        }
        else
        {
                if( m_oFile.Open(sFile,CFile::modeCreate | CFile::modeNoTruncate | CFile::modeReadWrite | CFile::shareDenyWrite) )
                {
                        m_oFile.SeekToEnd();
                }
        }
        return 0;
}

int CReadTxtDlg::InitData()
{
        CString sFile;
        CString str;
        TCHAR ch[20];
        sFile.Format(_T("D:\\Test.txt"));
        CFileFind ofileFind;
        if( ofileFind.FindFile(sFile) )
        {
                if( m_oFile.Open(sFile,CFile::modeRead) )
                {
                        m_oFile.SeekToBegin();
                        m_oFile.Read(ch,sizeof(ch));
                        str.Format(_T("%s"),ch);
                        m_oListBox.AddString(str);
                        m_oFile.Close();
                }
        }
        DWORD dw = GetLastError();
        return 0;
}
这个是我读程序的文件的打开方式,现在这个只能在写文件程序关闭的时候才能打开文件读取。我该怎样才能做到写文件程序在写的同时,这个读文件可以读取数据?我的写程序在运行的时候我是可以直接打开txt文件查看的。但是我不能在我的读程序中打开查看。是不是我的读程序哪里没弄对。

谢谢大家





上一篇:C++编写Windows服务程序中调用Log4cpp产生日志问题
下一篇:怎样让MFC按下快捷键win++++
51_avatar_middle
online_admins 发表于 2018-8-4 22:47:34 | 显示全部楼层
楼主的意思是在写文件的同时还要读文件吗?
20_avatar_middle
ico_lz  楼主| 发表于 2018-8-5 01:58:03 | 显示全部楼层
Syc 发表于 2018-8-4 22:47
楼主的意思是在写文件的同时还要读文件吗?

嗯,是的。我试了一个下午最后成功了,我把写文件 设置成CFile::modeCreate | CFile::modenotruncate | CFile::modewrite | CFile::sharedenywrite
读文件 设置成CFile::modeRead | CFile::sharedenyread。这样才能在写程序open的时候读程序可以读。但是网上的标志位解释这样就解释不通了。为什么写程序modereadwrite的话 读程序就会open失败。为什么一定要sharedenyread,不加这个读程序也是失败
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-8-23 15:49

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表