Dateinamen lesen
-
Hallo.
Ich will alle vorhandenen Dateien (bzw. Dateinamen) aus einem Verzeichnis auslesen.Hat jemand eine Idee dazu???
-
Geht in ANSI C nicht, solche Funktionalitäten werden vom Betriebsystem über eine API bereitgestellt.
Also Welches Betriebssystem, dann kann einer helfen
P.S. ist eigentlich das falsche Forum siehe Unix / Console / WinApi je nachdem welches OS du nutzt
-
Also ich kenne da die dirent.h mit opendir() readdir() und closedir(). Habe schon damit in Windows und Linux programmiert. Allerdings gehört dies nicht zum Standard, wie schon gesagt. Ob dir die Includedatei in deinem Compiler zur Verfügung steht, weiß ich leider auch nicht.
Wenn du mir noch dein Betriebssystem nennst, dann kann ich dich ins entsprechende Forum verschieben.
-
Betriebssystem win 2000 und/oder XP.
Du meintest sicher die <direct.h>
hab das problem anders gelöst.
ich rufe über system() den Befehl "dir /b > testfile.txt" auf, der mir alle Datei- und Verzeichnisnamen in das Textfile schreibt.
das lese ich dann aus.Trotzdem vielen dank
-
Das ist aber eindeutig die schlechteste Lösung mit system().
Ich verschieb dich mal ins Konsolenforum, da du ja anscheinend für Windows programmierst.
-
Dieser Thread wurde von Moderator/in AJ aus dem Forum ANSI C in das Forum DOS und Win32-Konsole verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
ich machs so:
... int main() { WIN32_FIND_DATA w32fd; HANDLE hFind= FindFirstFile("*.*", &w32fd); if (hFind == INVALID_HANDLE_VALUE) exit(1); do { if (w32fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { cout << "<D>\t" << w32fd.cFileName<<endl; } else { cout << "<F>\t" << w32fd.cFileName<<endl; } } while (FindNextFile(hFind, &w32fd)); FindClose(hFind); }