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

使用findfirst findnext遍历文件时,发生访问冲突错误 错误定位到ntdll.dll

代码为:

void getFiles(string path, vector& files)//lxk20160302
{
	//文件句柄
	long hFile = 0;
	//文件信息
	struct _finddata_t fileinfo;
	string p;
	cout << path.c_str()<


后在网上查到解决方案:

http://blog.csdn.net/cdownload_zxl/article/details/51853524

_findfirst()返回类型为intptr_t而非long型,从“intptr_t”转换到“long”丢失了数据

因此将
long hFile;  改为 intptr_t hFile; 即可。

你可能感兴趣的:(C++)