Überprüfung ob Datei existent
-
Hi,
ich habe gerade ein Problem mit meinem folgenden Code. Die Funktion fileExists() soll einfach überprüfen, ob eine ihr übergebene Datei existiert.
#include <stdio.h> #include <sys/stat.h> #include <string.h> #include <sys/types.h> #include <grp.h> #include <pwd.h> #include <ctype.h> int fileExists (CString name) { FILE *f= fopen (name,"r"); if (!f) return 0; else { fclose(f); return 1; } } int main (int argc, char *argv[]) { //hier wird u.a. die fileExist() aufgerufen... }
Wenn ich mit gcc -Wall -Wextra -Wdeclaration-after-statement -Werror -o prog prog.c compiliere, erhalte ich folgende error message:
prompt> 8:21: error: cstring.h: No such file or directory statfiles-pretty.c:10: error: expected ‘)’ before ‘name’
PS: <cstring.h> lässt sich nicht includieren
-
Edit: Die eigentliche Fehlermeldung ist natürlich ohne das fehlgeschlagene cstring.h:
prompt> c:10: error: expected ‘)’ before ‘name’
-
hi!
int fileExists (CString name)
das ist doch MFC stuff?`
mach
int fileExists (char* name)
-
Die Funktion fileExists() soll einfach überprüfen, ob eine ihr übergebene Datei existiert.
Das tut sie aber nicht. Sie prüft nur, ob das Lesen hinhaut.
Wenn es nicht hinhaut, kann das mehrere Gründe haben, und nur einer ist, daß die Datei nicht da ist.Für ernsthaften Code würde ich deshalb das Betriebsystem bemühen, weil ANSI (in its wisdom) keine Prüfung auf Dateiexistenz kennt.