Sehr neu in der C-Programmierung. Ich schreibe ein Programm, in dem ich den Benutzer auffordern soll, den Namen der Datei einzugeben, die zum Lesen geöffnet sein soll. Auf meinem unten gezeigten Code möchte ich einen Fehler werfen, wenn es nicht geöffnet wird oder wenn die Datei nicht existiert, aber wenn ich es ausführe, sprengt mein Code und ich muss das Programm schließen (DOS)C - Wie man den Benutzer zur Eingabe des Dateinamens auffordert
/*ask user for the name of the file*/
printf("enter file name: ");
gets(fname);
//Opens the file from where the text will be read.
fp=fopen(fname, "r");
//Checks if the file us unable to be opened, then it shows the error message
if (fp == NULL)
{
printf("\nError, Unable to open the file for reading\n");
}
// Sie können dies testen, indem Sie eine Datei namens name.txt erstellen. Bitte lassen Sie mich wissen, wenn Sie zusätzliche Informationen benötigen.
Wie haben Sie 'fname' definiert? Oh, und bitte, bitte, bitte benutze 'gets' - niemals! Betrachten Sie 'fgets' als eine mögliche Alternative. –
Sie sollten sich auch klar darüber sein, was Sie meinen, wenn Sie "wenn ich es ausführe" sagen, besonders wenn Sie neu bei C sind. Sie meinen, es kompiliert nicht, es stürzt sofort beim Ausführen ab, oder es stürzt ab, nachdem Sie es versucht haben einen Dateinamen eingeben und Enter drücken? – merlin2011