FindFirst Hilfe
-
Folgendes Problem, ich versuche in einem Programm die Funktion FindFirst zu verwenden, Quellcode habe ich im Internet gefunden, weil meiner nicht tat:
#include <stdio.h> #include <dir.h> /* File attribute definitions */ #define NORMAL 0x00 #define READONLY 0x01 #define HIDDEN 0x02 #define SYSTEM 0x04 #define VOLLABEL 0x08 #define DIR 0x10 #define ARCHIVE 0x20 int main() { struct ffblk fblock; /* Create file info block */ if( findfirst("*.*",&fblock,NORMAL) != 0 ) { puts("Oops! Some kind of error!"); return 1; } printf("I have found the file %s\n",fblock.ff_name); printf("It is %d bytes in size.\n",fblock.ff_fsize); return 0; }Das Programm müsste meiner Ansicht nach laufen, tut es aber nicht. Folgende Fehler treten dabei auf:
[Linker Fehler] Unresolved external '__InitVCL' referenced from C:\PROGRAMME\BORLAND\CBUILDER6\LIB\CP32MTI.LIB|crtlvcl
[Linker Fehler] Unresolved external '__ExitVCL' referenced from C:\PROGRAMME\BORLAND\CBUILDER6\LIB\CP32MTI.LIB|crtlvcl
Danach hab ich den Quelltext aus der Borlandhilfe genommen und den probiert.
#include <stdio.h> #include <dir.h> int main(void) { struct ffblk ffblk; int done; printf("Directory listing of *.*\n"); done = findfirst("*.*",&ffblk,0); while (!done) { printf(" %s\n", ffblk.ff_name); done = findnext(&ffblk); } return 0; }Da kamen allerdings die gleichen Fehler. Was stimmt dabei nicht, bitte helft mir.
Edit:
Bitte die Code-Tags verwenden.
-
Beim Erstellen des Konsolenprojektes den Haken bei "VCL verwenden" entfernen.
Tip am Rande: Denk bei Gelegenheit mal über den Unterschied zwischen FindFirst und findfirst nach.
-
Danke, werds gleich mal probieren.
Zum "Tip am Rande": Gibts da nen Unterschied?
-
Das scheint irgendwie nicht so recht zu klappen. Gibts es da noch ne alternative Möglichkeit?
-
Was heißt, "scheint nicht zu klappen"?
Ansonsten vieleicht mal mit WinAPI?
FindFirstFile();
FindNextFile();
FindClose();Das hat bei mir bisher (fast) immer geklappt!
-
