簡體   English   中英

在 c++ wxDir 中非遞歸地迭代目錄

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM