DRINGEND: CFileFind ohne sortieren nach Namen ....? WICHTIG!



  • Hi,

    Habe folgendes Problem...

    Ich durchsuche einen Ordner mit Hilfe von CFileFind auf Dateien.
    Im Ordner sind die Dateien nicht geordnet, doch wenn ich mit CFileFind
    den Ordner durchsuche und die gefundenen Dateien in eine TXT schreiben lasse, dann werden sie immer nach den Namen sortiert !!!
    Genau das will ich nicht, ich möchte das sie genau so in der Reihenfolge
    wie im Ordner in die Datei geschrieben werden.

    Hier mein Code...

    CString strPfad = "C:\\Dokumente und Einstellungen\\....\\*.*";
    
    	CFileFind finder; 
    	BOOL found = finder.FindFile(strPfad); 
    
    	CString strName;
    
    	CStdioFile OutFile; 
    	if (OutFile.Open("C:\\data.txt", CFile::modeCreate | CFile::modeWrite)) 
    	{	
    			while (found) 
    			{ 
    				found = finder.FindNextFile(); 
    
    				strName = finder.GetFileName();
    				strName.Replace("Test", "Ja");
    
    				OutFile.WriteString(strName + "\n"); 
    			}
    
    	} 
    
    	OutFile.Close();
    

    Ist das nun irgendwie möglich ?

    Vielen Dank!
    Lora.



  • Meines Wissen nach, wird die Ausgabe nicht sortiert.
    Es gibt aber auch die Möglichkeit mit der API-Funktion "FindFile()" zu suchen. Die Verwendung dieser Funktion ist auch nicht schwerer als die Klasse. Bei der API-Funktion bin ich mir sicher, daß keine Sortierung vorgenommen wird. Die C++-Klasse ist aber auch nur eine einfache Kapselung der API-Funktionen. Vielleicht wurden die Dateien zufällig alphabetisch gespeichert.


Anmelden zum Antworten