[英]Iterate directories non-recursively in c++ wxDir
我正在嘗試迭代一個目錄並列出其中的所有文件夾。 我檢查了wx 文檔並使用了GetAllFiles
目前我使用:
wxArrayString files;
size_t n, i;
n = wxDir::GetAllFiles("c:/temp/", &files, wxEmptyString, wxDIR_DIRS);
for(i=0; i<n; i++) {
myOwnPrint("folders: %s", files.Item(i));
}
它列出了所有目錄和里面的子目錄..
我想要的只是列出所有外部文件夾..
我檢查了wxDirFlags但我認為沒有標志只非遞歸地列出目錄。
有任何想法嗎?
GetAllFiles()
是一個輔助方法,允許在進行遞歸目錄遍歷時避免定義wxDirTraverser
派生類,因此不遞歸沒有多大意義——這就是它的目的。
對於給定目錄中的文件和/或目錄的簡單迭代,只需使用注釋中已經提到的GetFirst()
和GetNext()
:
wxDir dir(path);
if ( !dir.IsOpened() ) {
... handle error ...
}
wxString subdir;
for ( bool cont = dir.GetFirst(&subdir, wxString(), wxDIR_DIRS);
cont;
cont = dir.GetNext(&subdir) ) {
... do whatever you need to do with subdir ...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.