调试程序,弹出C++ Heap corruption detected错误。
google之后,发现在 这篇博客中找到了问题的答案 。
Heap Corruption:当输入超出了预分配的空间大小,就会覆盖该空间之后的一段存储区域,这就叫Heap Corruption。
char* DirPathStrcatFileType =strcat(strcat((char*)DirPath.c_str(), "*."), (char*)FileType.c_str());
在程序中发现这么一句,strcat是字符串拼接函数,DirPath是string类型。这句代码的意思是在DirPath后拼接上*.及FileType。但DirPath并没有给这两个字符分配空间。所以会导致Heap Corruption。