Ich habe an einem Programm gearbeitet und ich muss eine TXT-Datei lesen. jedoch der Name der Datei geöffnet werden soll, muss vom Anwender festgelegt werden: „Datei konnte nicht geöffnet werden“Wie verwendet man ein String-Array als TXT-Dateiname in fopen in C
#include stdio.h
int main(void) {
char FN[30];
FILE *Fptr;
printf("%s","Enter the full path of the file you wish to open.\n");
scanf("%s",FN);
if ((Fptr=fopen(FN,"r+"))==NULL) {
printf("%s","File could not be opened.\n");
} else {
printf("%s","File opened successfully.\n");
}
}
Ich bekomme immer wieder die Meldung Ich denke, das Problem irgendwie in der Anordnung sein muß ich als Dateinamen verwenden, weil, wenn ich versuche:
if ((Fptr=fopen("/Volumes/NO NAME/IntroProgramming/Version-0/test.txt","r+"))==NULL)
statt:
if ((Fptr=fopen(FN,"r+"))==NULL)
das Programm funktioniert ganz gut.
Wissen Sie, was die '30' in' char FN [30]; bedeutet? – juanchopanza
Juan sagt, dass Ihr Puffer zu klein ist. Ihr Beispielpfad hat 53 Länge – VladimirS
Die Fehlermeldung ist nicht sehr nützlich. Versuche: 'if ((Fptr = fopen (FN," r + ")) == NULL) { fprintf (stderr," Datei \ "% s \" konnte nicht geöffnet werden. \ N ", FN);' – wildplasser