Problem mit Datei öffnen
-
Hallo!
ich soll u.a. Program schreiben.
Mein Problem ist, wenn ich eine vorhandene Datei öffne gibt er trotzdem eine Fehlermeldung aus wiederholt aber nicht die Eingabe.
Stattdessen hänge ich in einer Endlosschleife, da es egal ist ,was ich eingeben./************************************************************************ * * Name: openfile * Zweck: Oeffnen einer Datei mit Fehlerbehandlung * Prototyp: FILE * openfile (const char msg[], int opentype); * Parameter: * * msg: (E) Zeichenkette mit der Aufforderungsmeldung. * opentype: (E) 1: oeffnen zum Lesen * 2: oeffnen zum Schreiben * * Funktionswert: Filepointer der geoeffneten Datei bzw. NULL, * fals oeffen nicht erfolgreich * ************************************************************************/ # include <stdio.h> FILE * openfile (const char msg[], int opentype) { char name[255]; FILE *datei; do{ printf("%s", msg); scanf("%s", & datei); if (opentype == 1) datei = fopen(name, "r"); if (opentype == 2) datei = fopen(name, "w"); if ( datei == NULL) printf ("Eingabefehler!!!\n"); while (getchar() != '\n') ; }while (datei == NULL); return datei; }
Vilen Dank schin mal im voraus
-
ÄÄÄÄhmmm kann das ein, das DU in C++ programmierst ?
while (getchar() != '\n')
;Das ist schonmal die endlosschleife.
ich denke mal
printf("%s", msg); scanf("%s", & datei);
gehört dort nicht hin.
Du sollst bestimmt die Funktion mit den entsprechenden Parameten aufrufen.