Jag använder klassen CFileFind för att lista filer och mappar under en sökväg. Jag vill att när den hittar ett bibliotek alltså när CFileFind::IsDirectory = TRUE ska den starta om funktionen för den nya sökvägen. Tills den gått igenom alla nivåer under originalsökvägen. När jag kallar samma funktion igen kraschar programmet. Vet inte hur jag ska göra, hjälp! Tacksam för svar.
CString szCur;
CFileFind f;
CString Dir_old=Dir;
if (strcmp(Dir.Mid(Dir.GetLength()-1),"\\\\")==0)
Dir += "\*";
else
Dir += "\\\\\*";
/\*char svPath\[MAX_PATH+1\];
lstrcpyn(svPath,Dir,MAX_PATH-1);
if(svPath\[lstrlen(svPath)-1\]=='\\\\')
lstrcat(svPath, "\*");
else
lstrcat(svPath, "\\\\\*");\*/
if (f.FindFile(Dir))
{
BOOL bDone =FALSE;
while (!bDone)
{
if (!f.FindNextFile()) { bDone = TRUE; }
if (f.IsDirectory()!=0 && strcmp(f.GetFileName(),".")!=0) {
// Ja, det är ett bibliotek.
// Sök efter underbibliotek och filer i den nya mappen.
// Hur gör jag detta ?
}
}
}
259 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a