博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VC++:Debug出错,提示错误在findfile.cpp (Line 369)
阅读量:4556 次
发布时间:2019-06-08

本文共 1648 字,大约阅读时间需要 5 分钟。

  调试程序的Debug版本,出现断言框,定位于库文件findfile.cpp 第369行: 

void CFileFind::AssertValid() const{    // if you trip the ASSERT in the else side, you've called    // a Get() function without having done at least one    // FindNext() call    if (m_hContext == NULL)        ASSERT(m_pFoundInfo == NULL && m_pNextInfo == NULL);    else        ASSERT(m_pFoundInfo != NULL && m_pNextInfo != NULL);   // 第369行}

  原程序:

CFileFind finder;if(finder.FindFile(filename)){    CString str = findfile.GetRoot();    // do something ...}

  修改后:

CFileFind finder;if(finder.FindFile(filename)){    findfile.FindNextFile();    CString str = findfile.GetRoot();    // do something ...}

  正确的调用的次序应该是:FindFile,FindNextFile,GetFileName/GetRoot

  扩展:BOOL CFileFind::FindNextFile

BOOL CFileFind::FindNextFile(){    ASSERT(m_hContext != NULL);     if (m_hContext == NULL)        return FALSE;    if (m_pFoundInfo == NULL)        m_pFoundInfo = new WIN32_FIND_DATA;     ASSERT_VALID(this);     void* pTemp = m_pFoundInfo;    m_pFoundInfo = m_pNextInfo;    m_pNextInfo = pTemp;     return ::FindNextFile(m_hContext, (LPWIN32_FIND_DATA) m_pNextInfo);}

  以下是MSDN中对于FindNextFile的说明:

  Call this member function to continue a file search from a previous call to FindFile. 

  You must call FindNextFile at least once before calling any of the following attribute member functions:

    •   GetCreationTime

    •   GetFileName

    •   GetFileTitle

    •   GetFilePath

    •   GetFileURL

    •   GetLastAccessTime

    •   GetLastWriteTime

    •   GetLength

    •   GetRoot

    •   IsArchived

    •   IsCompressed

    •   IsDirectory

    •   IsDots

    •   IsHidden

    •   IsNormal

    •   IsReadOnly

    •   IsSystem

    •   IsTemporary

    •   MatchesMask

 

转载于:https://www.cnblogs.com/MakeView660/p/6527126.html

你可能感兴趣的文章
不变模式
查看>>
matlab去云雾
查看>>
500lines项目简介
查看>>
Asp.net core logging 日志
查看>>
BOM浏览器对象模型
查看>>
Jq 遍历each()方法
查看>>
Android源码分析:Telephony部分–phone进程
查看>>
关于 redis.properties配置文件及rule
查看>>
WebService
查看>>
关于Java中重载的若干问题
查看>>
Java中start和run方法的区别
查看>>
23种设计模式中的命令模式
查看>>
[转载]年薪10w和年薪100w的人,差在哪里?
查看>>
shell 日期参数
查看>>
package的使用
查看>>
括号生成
查看>>
前端--jstree--异步加载数据
查看>>
CSS定位深入理解 完全掌握CSS定位 相对定位和绝对定位
查看>>
网络体系结构
查看>>
练习4.13、4.14、4.15、4.16
查看>>