调试程序的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

VC++:Debug出错,提示错误在findfile.cpp (Line 369)的更多相关文章

  1. Sqlserver2005附加数据库时出错提示操作系统错误5(拒绝访问)错误5120的解决办法

    Sqlserver2005附加数据库时出错提示操作系统错误5(拒绝访问)错误5120的解决办法 最近几天从网上找了几个asp.net的登录案例想要研究研究代码,结果在用 Sql Server2005附 ...

  2. SQLServer2005+附加数据库时出错提示操作系统错误5(拒绝访问)错误5120的解决办法

    SQLServer2005+ 附加数据库时出错提示操作系统错误5(拒绝访问)错误5120的解决办法 我们在用Sql SQLServer2005+附加数据库文件时弹出错误信息如下图的处理办法: 方案一: ...

  3. 远程桌面控制winsever,复制文件或者文件夹夹时出错提示“未指定的错误” 二(如何让远程电脑识别U盘)

    一.背景:   要给远程服务器安装数据库,把安装复制到服务器,出现复制文件或者文件夹夹时出错提示“未指定的错误”:通过映射网络分享文件方法来解决,发现服务器访问网络出现错误,ping分享文件电脑的IP ...

  4. [经使用有效]Sqlserver2005附加数据库时出错提示操作系统错误5(拒绝访问)错误5120的解决办法

    sqlserver2005附加数据库时出错提示操作系统错误5(拒绝访问)错误5120的解决办法 最近几天从网上找了几个asp.net的登录案例想要研究研究代码,结果在用 Sql Server2005附 ...

  5. VC Debug和Release区别

    https://msdn.microsoft.com/en-us/library/xz7ttk5s.aspx   Optimizing Your Code Visual Studio 2015 The ...

  6. Eclipse导入项目时出错提示 project is missing required library

    Eclipse导入(import)项目时出错提示 project is missing required library... 以至于不能build... 然后项目会有红色感叹号: [解决办法] 右击 ...

  7. Oracle登录时提示错误,导致用户无法登录

    Oracle登录时提示错误,导致用户无法登录,错误如下 ------------------------------------------------------------------------ ...

  8. WCF 在VS中,添加服务引用,地址输入http://ip/Service.svc,点击前往,提示错误,内容如下:

    WCF的service端的webconfig如下: <?xml version="1.0"?> <configuration> <system.ser ...

  9. maven的pom 提示错误 Failure to transfer com.thoughtworks.xstream:xstream:jar:

    pom文件提示错误,信息如下 Description    Resource    Path    Location    TypeFailure to transfer com.thoughtwor ...

随机推荐

  1. CCToggleVisibility和CCPlace

    CCActionInterval* move1 = CCMoveBy::create(, ccp(,)); CCActionInterval* move2 = CCMoveBy::create(, c ...

  2. Spring Cloud Summary

    Spring Cloud Summary https://cloud.spring.io/spring-cloud-static/Finchley.RC1/single/spring-cloud.ht ...

  3. ubantu 文件系统的目录结构

      对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步.,深入了解linux文件目录结构的标准和每个目录的详细功能,对于我们用好linux系统只管重要, ...

  4. python定制类详解

    1.什么是定制类python中包含很多内置的(Built-in)函数,异常,对象.分别有不同的作用,我们可以重写这些功能. 2.__str__输出对象 class Language(object): ...

  5. Spring 是如何解决并发访问的线程安全性问题的

    springmvc的controller是singleton的(非线程安全的),这也许就是他和struts2的区别吧!和Struts一样,Spring的Controller默认是Singleton的, ...

  6. (Python mysql驱动的解决)_mysql.c(42) : fatal error C1083: Cannot open include file: 'config-win.h':问题的解决

    在win7下安装了Python后,想安装python-MySQL,使用pip安装出现如下问题: >pip install MySQL-python _mysql.c(42) : fatal er ...

  7. python相关参考地址收藏

    python http://www.python.org/ setuptools https://pypi.python.org/pypi/setuptools Easy Install https: ...

  8. linux中vim中文显示乱码

    这里所说的都是全局设定,打开vimrc文件后,只需要在文件最后添加以下代码就可以了: set fileencodings=utf-8,gb2312,gbk,gb18030 set termencodi ...

  9. Extjs 弹出下拉Grid

    /** * 系统通用下拉选择Gird */ Ext.define("Common.picker.GridPicker", { extend: "Ext.form.fiel ...

  10. HBase shell 命令。

    HBase shell 命令. 进入hbase shell console$HBASE_HOME/bin/hbase shell如果有kerberos认证,需要事先使用相应的keytab进行一下认证( ...