hi all:
how to recursive a directory in qt?
i use QFileInfoListIterator, but it failed.
can anyone help me? thanks!
hi all:
how to recursive a directory in qt?
i use QFileInfoListIterator, but it failed.
can anyone help me? thanks!
Something like this ?:
Qt Code:
void RecurseDirectory(const QString& sDir) { QFileInfoList list = dir.entryInfoList(); for (int iList=0;iList<list.count();iList++) { if (info.isDir()) { // recursive if (info.fileName()!=".." && info.fileName()!=".") { RecurseDirectory(sFilePath); } } else { // Do something with the file here } } }To copy to clipboard, switch view to plain text mode
rivimey (23rd March 2013), WinchellChung (26th November 2007)
Here You can recursive remove file & dir....
Qt Code:
{ ///////SqlLog("order to delete dir:"+d+" "); if (dir.exists()) { const QFileInfoList list = dir.entryInfoList(); QFileInfo fi; for (int l = 0; l < list.size(); l++) { fi = list.at(l); if (fi.isDir() && fi.fileName() != "." && fi.fileName() != "..") DownDir_RM(fi.absoluteFilePath()); else if (fi.isFile()) { bool ret = f.remove(); if (!ret) /////////SqlLog("Can't remove: " + fi.absoluteFilePath() + " (write-protect?)"); } } //////////SqlLog("Remove: " + d + " "); dir.rmdir(d); } }To copy to clipboard, switch view to plain text mode
i use qt/e2.3.10, my code is below, but it doesn't work, why?
Qt Code:
int addFileFromDir(const QString& d) { dir.setMatchAllDirs( true ); if( !dir.exists() ) { return -1; } QString file; const QFileInfoList * list = dir.entryInfoList(); if( list ) { QFileInfoListIterator it(*list); QFileInfo *fi; while ( (fi = it.current()) != 0 ) { qDebug( fi->absFilePath() ); if ( !fi->isDir() ) { //do something } else if ( fi->isDir() && (fi->fileName()!=".") && (fi->fileName()!="..") ) { addFileFromDir( fi->absFilePath() ); } ++it; } } return 0; }To copy to clipboard, switch view to plain text mode
Last edited by jacek; 7th November 2006 at 02:50. Reason: missing [code] tags
i know why, there is another bug in other code![]()
thank you all the same!
Bookmarks