Ornder bei Iteration auschliessen
-
Hallo,
ich habe ein kleines Problem. Und zwar gebe ich meinem Programm einen Ordner, durch den er itteriert. Der Inhalt des Ordners wird in einen Vektor geschrieben, damit man später darauf zugreifen kann.
Jetzt kann es aber sein, dass in dem Ordner noch ein CVS Ordner ist. Den will ich gnorieren, damit mir mein Programm nicht abschmiert. Wie schließe ich das am besten aus?Mein Code:
void CmfcclientDlg::getFilename(CString nextdir){ CString sFilePath; CFileFind finder; CString curdir = nextdir; CString finaldir; CString name; bool bIterator = finder.FindFile(curdir+ "\\*.*"); //----------- Über die Bilder iterieren ----------------------------- while (bIterator > 0) { bIterator = finder.FindNextFile(); name = finder.GetFileName(); if (name== "." || name =="..") { } else if (finder.IsDirectory()!=0) { nextdir = curdir + "\\" + name; getFilename(nextdir); } else { sFilePath = finder.GetFilePath(); picturePath.push_back(sFilePath); } } cout << "Vector gefüllt" << endl; finder.Close(); }Danke
-
Hallo
vergleiche den Namen im Pfad-Zweig doch mit dem unerwünschten Pfadnamen und überspringe den bei Übereinstimmung.
bis bald
akari
-
Hast du ne Idee, wo und wie ich das machen soll?
Danke
-
Leila schrieb:
Hast du ne Idee, wo
im "if(finder.isDirectory()!=0)"-Zweig des Programms.
und wie ich das machen soll?
if (finder.IsDirectory()!=0) { if(name=="CSV") continue;//<- das neu rein nextdir = curdir + "\\" + name; getFilename(nextdir); }(alternativ kannst du "|| name=="CSV"" an deine erste if()-Bedingung anhängen (wo du die .-Verzeichnisse abfängst))
-
/edit : unsinn