fopen problem
-
hallo,
ich hab ein problem...hier erstmal der code
char* eingabe; FILE *read_file; printf("bitte eine datei eingeben, welche auf .txt endet"); scanf("%s",&eingabe); read_file = fopen("eingabe","r");
nun kommt es zum segmentation fault. wieso wird die eingegebene datei nicht geöffnet?? der name dieser datei müsste doch jetzt in "eingabe" stehen.
ich hoffe mir kann jemand helfen.
danke
kristin
-
Du musst für eingabe Speicher reservieren. Entweder via malloc() oder gleich ein Array anlegen:
char eingabe[64];
Außerdem ist das & beim scanf()-Aufruf falsch.
-
"eingabe" hat keinen Speicherplatz, so wirds richtig:
char eingabe[100]; FILE *read_file; printf("bitte eine datei eingeben, welche auf .txt endet"); fflush(stdout); /* sonst wird ggf. nichts ausgegeben */ scanf("%s",eingabe); /* Achtung: ohne "&" !!! */ read_file = fopen(eingabe,"r"); /* und hier ohne "" */
edit: Mist, zu spät
-
vielen dank, jetzt gehts
-
fflush(stdout);
grrrrr
-
Was ist da "grrrr"? Du verwechselst das nicht zufällig mit stdin?