C - Wie der Benutzer aufgefordert, Dateiname eingeben

Sehr neu in der C-Programmierung. Ich Schreibe ein Programm, wo ich will, fordert den Benutzer zur Eingabe der Namen der Datei, die zum Lesen geöffnet. Auf meinem code (siehe unten) ich will keinen Fehler werfen, wenn Sie nicht offen ist oder wenn die Datei nicht existiert, aber wenn ich es starten, mein code explodiert, und ich muss das Programm schließen (DOS)

/*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 die Schaffung eines name.txt Datei. Bitte lassen Sie mich wissen, wenn Sie weitere Informationen benötigen.

  • Wie haben Sie fname? Oh, und bitte, bitte, bitte nicht verwenden gets - niemals! Betrachten fgets als eine mögliche alternative.
  • Sie sollten sich auch darüber im klaren sein, was Sie meinen, wenn Sie sagen, "wenn ich es laufen", vor allem, wenn Sie neu sind C. meinst du es nicht kompilieren, stürzt es ab sofort auf laufen, oder es stürzt ab, nachdem Sie versuchen, geben Sie einen Dateinamen ein und drücken Sie enter,?
InformationsquelleAutor NewLearner | 2012-04-11
Schreibe einen Kommentar