C - Zugriff auf Verzeichnis

tretboot

Grünschnabel
Hallo!

Ich möchte/muss in C ein Programm schreiben, bei dem aus vielen Textdateien (bis zu 20) eingelesen wird. Ich möchte aber die Pfade aller 20 Dateien nicht über die Konsole eingeben lasse, da das für den Benutzer auch nervig ist. Wollte daher über die Konsole den Pfad zu einem Verzeichnis eingeben lassen und danach über evt. vorhandene Funktionen herausfinden, welche Dateien sich in dem Verzeichnis befinden. (doch diesbezüglich habe ich leider keine Funktionen gefunden)

Habe das Öffnen des Verzeichnisses folgendermaßen probiert:
Code:
FILE *p_datei;
p_datei = fopen("pfad des verzeichnisses", "r");

Wenn ich aber einen Verzeichnispfad angebe, ist p_datei IMMER null - das Öffnen funktioniert NUR mit Pfadangaben zu einer Datei.

Jetzt meine Frage:
Gibt es in C andere Funktionen/Möglichkeiten eine Verbindung zu einem Verzeichnis herzustellen?

Welche Möglichkeiten gibt es in C sonst, das Problem möglichst benutzerfreundlich zu lösen, so dass der Benutzer nicht alle 20 Dateinamen auswendig wissen/eintippen muss?

Danke!
 
Hi.

Verzeichnisse auszulesen ist betriebssystemspezifisch. Da du keine Angabe darüber gemacht hast, vermute ich mal du verwendest Windows. Da solltest du dir die Funktionen FindFirstFile und FindNextFile anschauen, die liefern dir Dateien bzw. Verzeichnisse zurück und dann kannst du mit GetFileAttributes überprüfen ob es sich um eine Datei oder Verzeichnis handelt. Wenn du hier im Forum suchst findest du einen Haufen Beispiele und natürlich steht einiges dazu im MSDN (z.B. http://msdn.microsoft.com/library/d...ileio/fs/listing_the_files_in_a_directory.asp)

Gruß
 
Zurück