首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

简单的函数的内存增长有关问题

2012-02-09 
简单的函数的内存增长问题今天下午写的一个搜索文件夹的函数,测试发现内存一直增大(最大达到80M)晕吧。可是

简单的函数的内存增长问题
今天下午写的一个搜索文件夹的函数,测试发现内存一直增大(最大达到80M)晕吧。可是检查了半天,也不知道问题出在哪里。。。
void   findDirectory1(CAToEDlg   *dlg,   CString   strPath)
{
WIN32_FIND_DATAA   fdData;
HANDLE   hFindFile;
CString   strDirectory;

strDirectory   =   strPath+ "\\*.* ";
hFindFile   =   ::FindFirstFile(strDirectory,   &fdData);
if   (hFindFile   !=   INVALID_HANDLE_VALUE)
{
do  
{
if   (strcmp(fdData.cFileName,   ". ")==0   ||   strcmp(fdData.cFileName,   ".. ")==0     )  
continue;
if   (fdData.dwFileAttributes   &   FILE_ATTRIBUTE_DIRECTORY)
{
dlg-> m_uiDirNumber++;
dlg-> m_strCurDirectory.Format( "%s\\%s ",   strPath,   fdData.cFileName);

dlg-> PostMessage(WM_MYUPDATEDATA);
findDirectory1(dlg,   dlg-> m_strCurDirectory);
}
else  
{
dlg-> m_uiFileNumber++;
dlg-> m_strCurFile.Format( "%s\\%s ",   strPath,   fdData.cFileName);

dlg-> PostMessage(WM_MYUPDATEDATA);
}

}   while(::FindNextFile(hFindFile,   &fdData));
}
}

[解决办法]
1. dlg是否new出来的?
2. 查找结束后需要FindClose
[解决办法]
没看到FindClose


-------------------------------------------------------
广告:VC/WinAPI 网络/多线程讨论 QQ群, 群号:41356711

热点排行