Win10下_findnext()调试时中断

原创 2016年08月31日 16:34:36

系统重装升级到win10之后,在win7下面可以运行的文件夹遍历代码会中断。

 ***** VIDEOINPUT LIBRARY - 0.1995 - TFW07 *****

0x00007FFEC8614ECD (ntdll.dll) (demo.exe 中)处的第一机会异常:  0xC0000005:  写入位置 0x00000000036E0590 时发生访问冲突。
0x00007FFEC8614ECD (ntdll.dll) (demo.exe 中)处有未经处理的异常:  0xC0000005:  写入位置 0x00000000036E0590 时发生访问冲突。

原因:
因为_findnext()返回类型为intptr_t而非long型,从“intptr_t”转换到“long”丢失了数据。

vector<string> BrowseFilenamesOneLayer(const char* dir, const char *filespec)
        {

            _chdir(dir);
            _finddata_t fileInfo;
            //long lfDir=0;
            intptr_t  lfDir;
            vector<string> fileVec;
            fileVec.clear();

            if ((lfDir = _findfirst(filespec, &fileInfo)) == -1)
                cout << "No file is found" << endl;
            else
            {
                do
                {
                    char filename[_MAX_PATH];
                    strcpy_s(filename, dir);
                    strcat_s(filename, "//");
                    strcat_s(filename, fileInfo.name);

                    fileVec.push_back(filename);
                    cout << "name=" << filename << endl;
                } while (_findnext(lfDir, &fileInfo) == 0);
            }
            _findclose(lfDir);

            return fileVec;
        }
版权声明:本文为博主原创文章,未经博主允许不得转载。

c++关于文件夹(文件)的相关操作_findfirst,_findnext和_findclose方法

1、获取windows下某文件下的所有文件 #include #include #include using namespace std; ...
  • u012816621
  • u012816621
  • 2015年09月16日 11:12
  • 2037

x64下vs2013 C++遍历目录下所有文件使用_findnext()调试时中断

今天尝试在VS2013 win32控制台下写一个手写数字的机器学习程序,其中需要遍历某目录下的所有.txt文件,在网上查了大量方法,主流是这样的 #include #include #inclu...
  • thy_2014
  • thy_2014
  • 2016年08月23日 15:55
  • 1932

使用_findfirst和_findnext遍历目录

最近在学习文件操作,用到了_findfirst() 和_findnext() 两个函数,写了个小程序,输入一个目录名,输出它下面的文件和目录。 主要用到了这么几个CRT函数: _access();...
  • m_zerone
  • m_zerone
  • 2011年12月13日 16:53
  • 1731

解决使用findnext相关函数在64位编译环境下遍历文件夹下的文件

遍历文件夹下的特定文件,所有人都推荐使用 _findfirst 还有 _findnext来进行操作,不是很难,但是我的项目必须要在64位环境下编译,x64环境下编译的话, _findfirst 还...
  • lgfun
  • lgfun
  • 2016年06月28日 10:22
  • 1381

解决Win10下_findnext()异常

在win10中,使用文件遍历函数_findnext会报0xC0000005错误 原因: _findnext()第一个参数”路径句柄”,返回的类型为intptr_t(long long),如果定义为...
  • Kelvin_Yan
  • Kelvin_Yan
  • 2017年01月03日 20:53
  • 1250

x64下vs2013 C++遍历目录下所有文件使用_findnext()调试时中断

使用findfirst findnext遍历文件时,发生访问冲突错误 错误定位到ntdll.dll 代码为: void getFiles(string path, vector& files)//...
  • zhangla1220
  • zhangla1220
  • 2016年08月25日 10:09
  • 1738

解决Win10下_findnext()异常

在win10中,使用文件遍历函数_findnext会报0xC0000005错误 原因: _findnext()第一个参数”路径句柄”,返回的类型为intptr_t(long long),如果定...
  • hemmingway
  • hemmingway
  • 2017年06月25日 14:39
  • 456

解决使用findnext相关函数在64位编译环境下遍历文件夹下的文件

遍历文件夹下的特定文件,所有人都推荐使用 _findfirst 还有 _findnext来进行操作,不是很难,但是我的项目必须要在64位环境下编译,x64环境下编译的话, _findfirst 还...
  • lgfun
  • lgfun
  • 2016年06月28日 10:22
  • 1381

x64下vs2013 C++遍历目录下所有文件使用_findnext()调试时中断

今天尝试在VS2013 win32控制台下写一个手写数字的机器学习程序,其中需要遍历某目录下的所有.txt文件,在网上查了大量方法,主流是这样的 #include #include #inclu...
  • thy_2014
  • thy_2014
  • 2016年08月23日 15:55
  • 1932

C++访问文件地址及详解(访问,删除创建)

(转载注明)文本部分内容来自:http://blog.sina.com.cn/s/blog_53988e5a0101dvlf.html 如何从指定地址读取图片文件,并且将其存入STL向量中...
  • qq249356520
  • qq249356520
  • 2017年12月18日 09:19
  • 33
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Win10下_findnext()调试时中断
举报原因:
原因补充:

(最多只允许输入30个字)