Ordner identifizieren
-
hi!
Ich suche eine Funktion, welche mir sagt, ob ein string einen ordner beschreibt oder eine datei. klingt verwirrend, also poste ich mal meinen bisherigen code:char pfad[500], datei[100]; HANDLE fHandle; WIN32_FIND_DATA wfd; void zielverzeichnisseermitteln() { // Suche auf C (Festplatte) beginnen fHandle=FindFirstFile("c:\\*",&wfd); for (int i=1 ; i<5 ; i=i+1) // die ersten 5 Dateien { FindNextFile(fHandle,&wfd); cout<<(wfd.cFileName)<<endl; strcpy(datei,wfd.cFileName); // Ordner als solchen identifizieren for (int i=0 ; i<((strlen(datei))+1) ; i=i+1) // alle einzelbuchstaben durchgehen (" +1 " wegen Nullzeichen!) { // nach einem " . " suchen, denn der befindet sich nur in Dateinamen, nicht in dem von Ordnern if (NULL==lstrcmp(datei[i],".")) { // nichts // } else strcat(pfad,datei); cout<<(pfad); } // Ende der Schleife für die Buchstaben } // Ende der Schleife für die Dateien }
so viel dazu ... fehlermeldung bei " NULL==lstrcmp(datei[i],".") ", da er offensichtlich mit dem "datei[i]" nichts anfangen kann. bei turbo pascal hätt das geklappt ...
-> Die Funktion ist denke ich vom Ansatz her nicht schlecht, aber ich könnte wetten es gibt ne einfachere methode (spezielle funktion?). wenn nicht, sagt mir bitte wie ich die fehlermelung umgehen kann!thx und ru
SirNoname
-
Jo hi Meister.
1. Kann auch ein Ordner einen . enthalten.
2. Geht das schlecht mit strcmp. Verwendeif(datei[i] == '.') { }
-
http://c-plusplus.net/forum/viewtopic.php?t=39396
Also auf das
if(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { // ein Verzeichnis }
kommt es an
-
nabend und
@ ChrisK : ich weiß, ordner können auch punkte enthalten, nur war das für mich erstmal das einzige erkennungsmerkmal
@ flenders : mal wieder: genau! thx!
SirNoname
-
Und? Nun funzts?
-
joup .... mal wieder habt ihr mir geholfen .... ich liebe das internet ;))
-> wo wir grad dabei sind, ich hab mir mal erlaubt in der readme eines meiner progs (freeware) zu erwähnen, dass die leute des boards hier mir echt geholfen haben ... ich hoff das is ok
SirNoname
-
SirNoname schrieb:
-> wo wir grad dabei sind, ich hab mir mal erlaubt in der readme eines meiner progs (freeware) zu erwähnen, dass die leute des boards hier mir echt geholfen haben ... ich hoff das is ok
Also ich hab nichts dagegen - warum auch