From 793f92202da4df069179b537480f6cad67a7d47d Mon Sep 17 00:00:00 2001 From: LukVal54 Date: Mon, 17 Nov 2025 14:36:08 +0100 Subject: [PATCH] openFilecheckheader implementiert --- imageInput.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/imageInput.c b/imageInput.c index bb30de1..a1b643a 100644 --- a/imageInput.c +++ b/imageInput.c @@ -7,7 +7,30 @@ #define FILE_HEADER_STRING "__info2_image_file_format__" // TODO Implementieren Sie geeignete Hilfsfunktionen für das Lesen der Bildserie aus einer Datei +static FILE* openFileCheckHeader(const char *path) +{ + FILE *fp = NULL; + fp = fopen(path, "rb"); + if(fp == NULL) + return NULL; + char headerbuffer[BUFFER_SIZE]; + size_t headerlength = strlen(FILE_HEADER_STRING); + if((fread(headerbuffer, sizeof(char), headerlength, fp)) < headerbuffer) + { + fclose(fp); + return NULL; + } + if(strncmp(FILE_HEADER_STRING, headerbuffer, headerlength) != 0) + { + flcose(fp); + return NULL; + } + return fp; +}//Oeffnet die Datei. 2. liest aus Datei headerlaenge laenge aus speichert in array vergleicht mit gewolltem header. +///Gibt bei Erfolg (header laenge richtig, richtiger header) den FILE* Zeiger zurück welcher nun gespeichert hat +///dass nun der header Teil gelesen wurde und somit die nächste Funktion ab dieser Stelle weiter liest. +///NULL, wenn falscher header. // TODO Vervollständigen Sie die Funktion readImages unter Benutzung Ihrer Hilfsfunktionen GrayScaleImageSeries *readImages(const char *path) {