31/10/12 9:21
marco.quaglia
Ciao sono nuovo del forum ed un programmatore c++ Builder fai da te, quindi spero di non essere banale nella mai richiesta. Sto scrivendo un programma che legga i file presenti in un disco, directory e sottodirectory comprese.Nel testarlo mi sono reso conto che è circa 10 volte + lento del comando DOS “dir /s c:\*.*”
Qualcuno sa perchè?
grazie
Qualcuno sa perchè?
grazie
//--------------------------------------------------------------------------- void ListDir(AnsiString Folder) { TSearchRec sr; bool Child = true; int done = (FindFirst(Folder, faAnyFile, sr)); while(!done){ if (sr.Name[1] != '.') { //Elimina la direcotory radice '.' AnsiString s = Folder.SubString(1, Folder.Length()-3)+ "\" + sr.Name; cout << s.c_str() << endl; if(((sr.Attr & faDirectory) == faDirectory) && (sr.Name[1] != '.')) { AnsiString temp = Folder; ListDir(temp.SubString(1, Folder.Length()-3)+sr.Name+"\*.*"); } } done = FindNext(sr); } ; FindClose(sr); }
aaa