一个中断异常出现

VS2013版本下,出现中断异常提醒:0x771C2312 (ntdll.dll) (charlotte.exe 中)处有未经处理的异常:  0xC0000005:  写入位置 0x00000020 时发生访问冲突。

源文件代码为:

if (flag != -1L)
{
        files.push_back(fileinfo.name);
        while ((flag=_findnext(flag, &fileinfo))==0)
            files.push_back(fileinfo.name);
}
修改为一下代码则无异常:

if (flag != -1L)
{
	files.push_back(fileinfo.name);
	while (_findnext(flag, &fileinfo)==0)
	    files.push_back(fileinfo.name);
}
原因为:

当flag为0时,访问内容未知,故而出现了访问冲突。

猜你喜欢

转载自blog.csdn.net/ddsszzy/article/details/49585219