Auslesen einer Datei
-
Hallo an alle.
Ich habe folgende Funktion, die mir den Text aus einer Datei ausliest.const char* open_file(const char* in, int* olen) { FILE* input = fopen(in, "r"); if(input == NULL) { *olen = 0; return 0; } //obtain the file size fseek(input, 0, SEEK_END); *olen = ftell(input); char* buffer = (char*)malloc(*olen); //copy the file contents into the buffer printf("%i bytes were read\n", fread(buffer, sizeof(char), *olen, input)); fclose(input); printf("%s\n", buffer); return buffer; }
Komischerweise wird in den buffer nichts geschrieben. Die printf liefert mir für das Ergebnis der fread funktion "0 bytes were read". Die länge der Datei, bzw. der Zeichen (steht in *olen) wird aber richtig geschrieben.
Kann mir vielleicht jemand einen Tip geben, wo ich hier ein Fehler gemacht habe?
Danke in Voraus.
-
Schon erledigt:)
man muss ja die position auch wieder zurücksetzen, nachdem man fseek aufruft.