Nebuchadnezar
Erfahrenes Mitglied
falls jemand schon sowas gefragt hat sry habs über suchen ned gfunden ...
also ich habe folgendes Problem:
Ich möchte jetzt zb vom Laufwerk c: eine liste von ordnern erstellen ohne Dateien - sollen aber alle Ordner sein(auch versteckte). Ich möchte das ganze irgendwie mit findfirst und findnext lösen ..hier ein Beispielcode:
#include <stdio.h>
#include <conio.h>
#include <dir.h>
#include <dos.h>
#include <dirent.h>
#include <iostream.h>
void main() {
DIR *dir;
struct ffblk ffblk;
int x;
chdir("c:\\");
x = findfirst("*.",&ffblk,FA_DIREC);
while(!x) {
cout << ffblk.ff_name <<endl;
x = findnext(&ffblk);
}
getch();
}
ich glaub das mit FA_DIREC passt so ich hab nur das problem mit den Suchkriterien(erster Parameter von findfirst() wenn ich zb *.* angeb bekomm ich trotz des Attributs FA_DIREC auch alle dateien. Wenn ich als ersten parameter "*."verwende bekomm ich zwar nur die Ordner aber ein Ordner wird nicht aufgelistet(aufgrund der Tatsache dass der Ordner eine Dateiendung hat *lol* - heisst msdownld.tmp) den bekomm ich nicht angezeigt. Gibt es eine möglichkeit die Kriterien für Ordner zu ignorieren?
Hinweis für die Attribute:
FA_RDONLY Schreibgeschützte Datei
FA_HIDDEN Verborgene Datei
FA_SYSTEM Systemdatei
FA_LABEL Datenträgername
FA_DIREC Verzeichnis
FA_ARCH Archiv-Bit
also ich habe folgendes Problem:
Ich möchte jetzt zb vom Laufwerk c: eine liste von ordnern erstellen ohne Dateien - sollen aber alle Ordner sein(auch versteckte). Ich möchte das ganze irgendwie mit findfirst und findnext lösen ..hier ein Beispielcode:
#include <stdio.h>
#include <conio.h>
#include <dir.h>
#include <dos.h>
#include <dirent.h>
#include <iostream.h>
void main() {
DIR *dir;
struct ffblk ffblk;
int x;
chdir("c:\\");
x = findfirst("*.",&ffblk,FA_DIREC);
while(!x) {
cout << ffblk.ff_name <<endl;
x = findnext(&ffblk);
}
getch();
}
ich glaub das mit FA_DIREC passt so ich hab nur das problem mit den Suchkriterien(erster Parameter von findfirst() wenn ich zb *.* angeb bekomm ich trotz des Attributs FA_DIREC auch alle dateien. Wenn ich als ersten parameter "*."verwende bekomm ich zwar nur die Ordner aber ein Ordner wird nicht aufgelistet(aufgrund der Tatsache dass der Ordner eine Dateiendung hat *lol* - heisst msdownld.tmp) den bekomm ich nicht angezeigt. Gibt es eine möglichkeit die Kriterien für Ordner zu ignorieren?
Hinweis für die Attribute:
FA_RDONLY Schreibgeschützte Datei
FA_HIDDEN Verborgene Datei
FA_SYSTEM Systemdatei
FA_LABEL Datenträgername
FA_DIREC Verzeichnis
FA_ARCH Archiv-Bit