FindFirstFile, FindnextFile etc. und ATTRIBUTE

KILLSMAKER

Erfahrenes Mitglied
Moin!

ich wollte mal fragen, ob es ein ATTRIBUT für die Dateien, die von den oben genannten Befehlen gefunden wurden, gibt, das nur dateien zulässt, die Ordner oder EXEn sind.
Ich dachte zuerst an, FILE_ATTRIBUTE_NORMAL, aber dann zeigt er mir ja auch keine Ordner an.

Achso ich benutze: Microsoft Visual Studio .net V. 2003 und Windows XP Home

DANKE
 
kennst du dich da etwas aus :)

wie bekomme ich dieses Programm zum Laufen unter VS:NET

/*Download:find.c*/

#include <stdio.h>
#include <stdlib.h>
#include <dir.h>
#include <dos.h>

#define ALL FA_RDONLY|FA_HIDDEN|FA_SYSTEM|FA_LABEL|FA_DIREC|FA_ARCH

int main(int argc, char *argv[])
{
int ret;
struct ffblk info;
if(argc != 2)
{
fprintf(stderr,"Benutzung : %s suchpfad\n",argv[0]);
exit (1);
}

ret=findfirst(argv[1],&info,ALL);
while(ret==0)
{
printf("%20s : %6ld Bytes\n",info.ff_name,info.ff_fsize);
ret=findnext(&info);
}
return 0;
} Geben sie jetzt z.B. in der Kommandoz
 
Bei der Maske für FindFirstFile gib als Extension zum Pfad *.exe an, dann bekommst du nur EXE-Dateien, allerdings die Verzeichnisse nicht mehr.

Du kannst entweder zweimal durch die Find-Funktionen loopen oder, da du sowieso noch nachparsen musst (Verzeichniss "." und ".." sind meistens recht witzlos), kannst du ja gleich auf *.* gehen und dann eben nach Extension bzw. Attributen rausfiltern. Aber beides zusammen verträgt sich ohne Nachparsen nicht.
 
kann mir von euch vielleicht einer sagen wie ich diese findfirst Funktion in VS.NET zum laufen bekomme?
 
Laut MSDN sollte es reichen, <io.h> zu includen. Aber ich meine, die dir.h gibt es bei MSVC nicht.
 
Zuletzt bearbeitet:
mit io.h mekkert er auch,dass er die Struktur ffblk nicht kennt

und deswetieren mekkert er:

c:\dokumente und einstellungen\baueeadmin\eigene dateien\visual studio projects\fharbeitsbereich\allesmögliche\findnext\find.c(27) : warning C4013: 'findfirst' undefiniert; Annahme: extern mit Rückgabetyp int
c:\dokumente und einstellungen\baueeadmin\eigene dateien\visual studio projects\fharbeitsbereich\allesmögliche\findnext\find.c(27) : error C2065: 'FA_RDONLY': nichtdeklarierter Bezeichner
c:\dokumente und einstellungen\baueeadmin\eigene dateien\visual studio projects\fharbeitsbereich\allesmögliche\findnext\find.c(27) : error C2065: 'FA_HIDDEN': nichtdeklarierter Bezeichner
c:\dokumente und einstellungen\baueeadmin\eigene dateien\visual studio projects\fharbeitsbereich\allesmögliche\findnext\find.c(27) : error C2065: 'FA_SYSTEM': nichtdeklarierter Bezeichner
c:\dokumente und einstellungen\baueeadmin\eigene dateien\visual studio projects\fharbeitsbereich\allesmögliche\findnext\find.c(27) : error C2065: 'FA_LABEL': nichtdeklarierter Bezeichner
c:\dokumente und einstellungen\baueeadmin\eigene dateien\visual studio projects\fharbeitsbereich\allesmögliche\findnext\find.c(27) : error C2065: 'FA_DIREC': nichtdeklarierter Bezeichner
c:\dokumente und einstellungen\baueeadmin\eigene dateien\visual studio projects\fharbeitsbereich\allesmögliche\findnext\find.c(27) : error C2065: 'FA_ARCH': nichtdeklarierter Bezeichner
c:\dokumente und einstellungen\baueeadmin\eigene dateien\visual studio projects\fharbeitsbereich\allesmögliche\findnext\find.c(31) : warning C4013: 'findnext' undefiniert; Annahme: extern mit Rückgabetyp int

Ich werd noch wahnsinnig! Das kann doch nicht so schwer sein unter Windof mit Dateien zu arbeiten .... grrr
 
du meinst ich soll nur schreiben:

ffblk info;

was soll das bringen?

da kommen noch mehr Fehlermeldungen als vorher!
 
moin


was soll das bringen?

da kommen noch mehr Fehlermeldungen als vorher!

So wie es jetzt ist ist es einfach falsch.
Wenn du struct davor schreibst heisst das das du eine neue Struktur erstellen willst.

Du nimmst einfach ein paar Header Dateien (dir.h und dos.h) und versuchst die im VS .Net zum laufen zu bekommen, aber das geht nicht, da es noch viel mehr abhängigeit zu noch anderen Dateien oder Bibliotheken gibt.


mfg
umbrasaxum
 
Zurück