alle Dateien auflisten



  • Hallo

    Ich habe gerade versucht mir alle Dateien in einem Verzeichnis auflisten zu lassen. Ich habe dazu das Beispile in der MSDN fast komplett kopiert. Das Ergebniss ist aber nicht das von mir gewünschte, weil er immer nur den Namen des Ordeners angibt: "saves". Hier mal die Funktion:

    bool LoadGame::FindSaveFiles(void)
    {
    	WIN32_FIND_DATA FindFileData;
    	HANDLE Find = INVALID_HANDLE_VALUE;
    	DWORD Error;
    	std::string Directory = "c:/Fussball/Data/saves";
    
    	Find = FindFirstFile(Directory.c_str(),&FindFileData);
    	if(Find == INVALID_HANDLE_VALUE)
    		return false;
    	else
    	{
    		Logfile::Get()->TextOut(FindFileData.cFileName);
    		while (FindNextFile(Find,&FindFileData) != 0)
    		{
    			Logfile::Get()->TextOut(FindFileData.cFileName);
    		}
    		Error = GetLastError();
    		FindClose(Find);
    		if(Error != ERROR_NO_MORE_FILES)
    			Logfile::Get()->TextOut("FindNextFileError");
    	}
    }
    

    Ich weiß nun ehrlich gesagt nicht, warum er mir nicht die Datein auflistet, wenn welche vorhanden sind und sonst einfach Null ausgibt.
    Dann wollte ich noch fragen, ob man die Suche auf Datein mit einer bestimmtem Endung einschränken kann.

    Danke für Eure Mühen
    chrische



  • Verwende mal

    c:/Fussball/Data/saves/*.*
    

    PS: Und es gibt auch eine do-while Schleife...



  • Du hast den falschen Filterstring angegeben - für deine Zwecke benötigst du Wildcards: "c:/Fussball/Data/saves**/.**".


Anmelden zum Antworten