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. Verwende

    if(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 😉


Anmelden zum Antworten