IF EXIST in C
-
-
Basher schrieb:
int exist (char *name) { FILE *fp = fopen (name, "r"); if (fp) fclose (fp); return fp != 0; }
funzt nich wirklich. Der Compiler spuckt ein paar Fehler aus
ich zeig euch mal was ich geschrieben hab...12: int exist (char *WinFLip.exe) 13:{ 14: FILE *fp = fopen (WinFlip.exe, "r"); 15: if (fp) 16: fclose (fp); 17: return fp != 0; 18: goto FOUND; 19:} 20:else 21:{goto NODATA; 22:}
naja und die fehler aus meinem compiler:
`12: error: expected ',' or '...' before '.' token
13: error: 'int exist(char*)' previously defined here
14: error: 'WinFLip' was not delared in this scope
20: error: expected unqualified-id before "else"
`
Was soll ich da jetz ändern?
mfg tecno
-
dir ist schon klar, dass
exist
eine Funktion ist und, dass sie nicht einfach so innerhalb einer anderen Funktion eingebetet werden kann, oder?
-
tecnologymaster schrieb:
funzt nich wirklich.
Nee, so wie du es versucht hast, nicht...
Zeichenketten gehören auch immer in Anführungszeichen, sonst sind's keine Zeichenketten.
Probier mal so:
int exist (char *name) { FILE *fp = fopen (name, "r"); if (fp) fclose (fp); return fp != 0; } int main() { if(exist("C:\\test.txt")) { printf("Datei existiert!"); }else { printf("Datei existiert nicht!"); } }
-
dir ist schon klar, dass
exist
eine Funktion ist und, dass sie nicht einfach so innerhalb einer anderen Funktion eingebetet werden kann, oder?
-
supertux schrieb:
dir ist schon klar, dass
exist
eine Funktion ist und, dass sie nicht einfach so innerhalb einer anderen Funktion eingebetet werden kann, oder?Das fällt dir auf, aber das hier
fopen (WinFlip.exe, "r");
nicht??
EDIT: Wundert mich, dass noch keiner nach der Deklaration des structs WinFlip gefragt hat...
-
_matze schrieb:
supertux schrieb:
dir ist schon klar, dass
exist
eine Funktion ist und, dass sie nicht einfach so innerhalb einer anderen Funktion eingebetet werden kann, oder?Das fällt dir auf, aber das hier
fopen (WinFlip.exe, "r");
nicht??
WinFlip.exe könnte ja ein char* sein
aber wenn du es genau schaust, dann hat er ein
else
nach der letzten '}' Klammer derexist
Funktion!
-
supertux schrieb:
WinFlip.exe könnte ja ein char* sein aber wenn du es genau schaust, dann hat er ein
else
nach der letzten '}' Klammer derexist
Funktion!so wie's aussieht, hat er ein C turorial noch nicht mal von weitem gesehen.
-
supertux schrieb:
WinFlip.exe könnte ja ein char* sein
Klar, davon bin ich überzeugt. Er hat bestimmt nur vergessen, den Header zu inkludieren, in dem das WinFlip-struct deklariert ist.
supertux schrieb:
wenn du es genau schaust, dann hat er ein
else
nach der letzten '}' Klammer derexist
Funktion!Klar, hab ich nicht bestritten.
-
geil, der thread is echt funny