File-pointer als Paramter?
-
Hi!
Ich habe folgendes Problem: Ich übergebe meiner Funktion openFile den Namen der Datei und einen Filepointer. In der Funktion selbtst kann ich mit fgetc normal das erste Zeichen einlesen. Wenn ich jedoch in weiterer Folge das selbe mit dem f_file1 in der main versuche... -> Segmentation fault!
Hat jmd einen Tipp für mich?int maint() { FILE* f_file1; openFile("./test.txt", f_file1); printf("fgtec: %c", fgetc(f_file1)); //verursacht Segmentation fault return 0; } //-------------------------------------------------------------------- int openFile(char *name, FILE* file2open) { file2open = fopen(name, "r"); printf("%c\n", fgetc(file2open)); // erstes Zeichen ausgeben funzt if(file2open == NULL) { printf("File not found\n"); return -1; } return 0; }
-
int openFile(char *name, FILE **file2open) { ... } int maint() { ... openFile("./test.txt", &f_file1); ... }
oder
FILE* openFile(char *name) { ... return file2open; } int maint() { ... FILE* f_file1 = openFile("./test.txt"); ... }
-
thx funktioniert wunderbar, muss natürlich ** sein...