注册 登录
编程论坛 VC++/MFC

MFC新手,CFILE类问题求助。

Yorkshire 发布于 2014-02-25 11:09, 662 次点击
VC6.0程序代码如下。文件LG_A325E.txt是文本文件。执行到SeekToBegin()就出来"Debug Assertion Failed!"。注释掉这行,GetFilePath()能正常执行,结果也对。但是GetPosition()又不行了。本人刚接触MFC,请DX帮忙看看,问题在哪里。非常感谢!
    char * pszFileName="C:\\myproject\\LG_A325E\\LG_A325E.txt";
    //char * pszFileName="..\\LG_A325E.txt";
    char pbuf[256];
    UINT nBytesRead;
    CFile myFile;
    CFileException fileException;
    if(myFile.Open(pszFileName,CFile::modeRead),&fileException)
    {
        //myFile.SeekToBegin();
        CString str1 = myFile.GetFilePath();
        DWORD pos = myFile.GetPosition();
        nBytesRead = myFile.Read(pbuf,10);
    }
    else
    {
        TRACE("Can't open file %s,error=%u/n",pszFileName,fileException.m_cause);
    }
    myFile.Close();
3 回复
#2
yuccn2014-03-02 12:31
你先去看看MSDN查下 CFile的用法参数和要求?
#3
Yorkshire2014-03-06 14:19
非常感谢!我已经看了几天MSDN里关于Assertion部分的内容了,还没看出结果来。
#4
Yorkshire2014-03-15 12:26
我的神啊!终于发现了,是"open"配对的右括号位置放错了,应该在这行的最后面。VC编译怎么连这个错误都无法发现呢,编译时一个错误都没有。
感谢yucnn版主的回复!

    if(myFile.Open(pszFileName,CFile::modeRead),&fileException)
    {
1