VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

有编程疑问吗?还请到提问专区发帖提问!
搜索
查看: 436|回复: 2

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

[复制链接]
20_avatar_middle
在线会员 Enzo_Ferrari 发表于 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文件查看的。但是我不能在我的读程序中打开查看。是不是我的读程序哪里没弄对。

谢谢大家





上一篇:bind函数返回值没有与整数比较的操作数???
下一篇:怎样让MFC按下快捷键win++++

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

51_avatar_middle
online_admins Syc 发表于 2018-8-4 22:47:34 | 显示全部楼层
楼主的意思是在写文件的同时还要读文件吗?

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

20_avatar_middle
ico_lz  楼主| Enzo_Ferrari 发表于 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

本版积分规则

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

GMT+8, 2018-12-11 22:54

Powered by Discuz! X3.4

© 2009-2018 cctry.com

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