Überprüfen ob eine Datei schon vorhanden in C!
-
Hallo @ All!!
Folgendes ich muss überprüfen ob schon einen Datei mit selben namen schon erstellt wurde! Ich hab mir gedacht ich machs so:
char filename[] = "test.svg"; FILE *file; if((file = (fopen(filename, "rb"))) == NULL) { printf("Datei ist noch nicht vorhanden"); fclose(file); } else { printf("Datei ist vorhaden"); fclose(file); }
Gibt es für diese Überprüfung eine bessere Lösung oder ist das schon so richtig??
-
für den fall das die datei nicht vorhanden ist, brauchst du sie nicht schließen - hast sie schließlich nicht öffnen können
-
Ok!! Gibt es eine andere Möglichkeit oder ist das die Einzige???
-
hanni6al schrieb:
Ok!! Gibt es eine andere Möglichkeit oder ist das die Einzige???
mit standard-funktionen sieht's eher schlecht aus. nimm was systemeigenes.
-
Mit der WINAPI kannste das noch machen mit FileOpen. Aber ansonsten denk ich, ist die o.g. Möglichkeit doch gut.
Alternativ könnte man noch rename oder remove dafür zweckentfremden, aber mit fopen ist es schon ok.
-
Ok dann werde ich es so belassen!!
-
Oder einfacher:
if ( access( file, F_OK) == 0) printf( "\ndie Datei gibt's ja wirklich!");
-
Scheppertreiber schrieb:
access (file, F_OK)
^^und woher nimmt er diese funktion?
-
io.h
-
Es ist Standard-C und in der Standardlibrary enthalten.
io.h sollte man enbinden.
-
Scheppertreiber schrieb:
Es ist Standard-C und in der Standardlibrary enthalten.
aber doch nicht in der ansi-c library, also wie das forum hier heisst.
-
Leider darf ich nicht io.h verwenden bin etwas eingeschränkt bei den Bibliotheken!!