Dateien aus Ordner auslesen?

Zeller

Mitglied
Hallo Leute

Ich bin ein totales C++ Landei und suche Hilfe.:-(
Ich brauche eine Methode die mir alle Dateien aus einem Ordner
z.B ( C:\Eigene Dateien) ausliest,ausgibt und in einer Liste speichert.
Wenn möglich inkl. Dateiinformationen wie Grösse letzter Zugriff und Dateiart.
Übrigens ich arbeite mit Visual Studio 6 auf WinXP.

Vielen Dank für eure Unterstützung! ;)
 
moin


Diese Frage wurde schon sehr oft gestellt!
Warum benutzt du nicht die Suchfunktion des Boards?
Wenn du das machst findest du komplette Lösungen für dein Problem.


mfg
umbrasaxum
 
Ja ich weiss.
Doch ich hab nichts gefunden wo ich selbst ein Ordner wählen kann.
Ist jedoch auch möglich, dass ich es einfach nicht geschnallt habe.
Dennoch danke für deine Antwort.
 
moin


In den meisten Fällen kannst du den Ordner selbst angeben.

Als Suchbegriff einfach "Ordner".


mfg
umbrasaxum
 
Poste einmal den Source den DU hast herein (nur die Funktion wo es den Ordner durchsucht).
 
Bis jetzt bin ich mal so weit gekommen.
Mit dem erhalten der Dateiinfos und dem Anzeige der Dateien aus Unteordnern haperts leider noch.


Code:
#include "stdafx.h" 
 
#include <stdio.h>
 
#include <string.h>
 
#include <windows.h>
 
 
 
void ls(char *path);
 
int main(int argc, char *argv[])
 
{
 
char path[MAX_PATH];//MAX_PATH maximale Pfadlänge
 
 
 
if(argc==2) 
 
{
 
strcpy(path, argv[1]);
 
}
 
else 
 
{
 
SetCurrentDirectory("c:\\programme");//Hier kann man momentan den Pfad angeben
 
GetCurrentDirectory(MAX_PATH, path);
 
}
 
ls(path);
 
return 0;
 
}
 
void ls(char *path) 
 
{
 
WIN32_FIND_DATA FindFileData;
 
HANDLE hFind;
 
strcat(path, "\\*");
 
hFind=FindFirstFile(path, &FindFileData);
 
while ( FindNextFile(hFind, &FindFileData) )
 
{
 
printf("%*s", 0, FindFileData.cFileName);
 
if( FindFileData.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY )
 
printf("\t<DIR>");
 
printf("\n");
 
}
 
;
 
 
 
FindClose(hFind);
 
}
 
Ändere auf jeden Fall ( FindFileData.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY )

in

( FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY )

Die Attribute sind Flags, da werden also mehrere auf einmal gesetzt sein.
 
Was funktioniert nun nicht?
Und wieso der Stern bei: printf("%*s",..);
 
Zuletzt bearbeitet von einem Moderator:
Zurück