diff --git a/imageInput.c b/imageInput.c index a2a2bcc..a57c8ed 100644 --- a/imageInput.c +++ b/imageInput.c @@ -5,6 +5,7 @@ #define BUFFER_SIZE 100 #define FILE_HEADER_STRING "__info2_image_file_format__" +#define HEADER_LEN (sizeof(FILE_HEADER_STRING) - 1) //-1, um \0 Character rauszufiltern // TODO Implementieren Sie geeignete Hilfsfunktionen für das Lesen der Bildserie aus einer Datei @@ -20,6 +21,28 @@ static int checkDimensions(GrayScaleImage imageData){ } +static int checkHeader(const GrayScalePixelType *buffer){ + + int ok = 0; + char header[HEADER_LEN + 1]; //Array mit Platz für Header Länge + \0 Character -> String + + // Jeder Byte in String kopieren + for(int i = 0; i < HEADER_LEN; i++){ + + header[i] = buffer[i]; + + } + + header[HEADER_LEN] = '\0'; // Nullterminator am Ende anhängen + + if(strcmp(header, FILE_HEADER_STRING) == 0) // wenn beide identische sind gibt cmp 0 zurück + return ok = 1; + + else + return ok = 0; + +} + // TODO Vervollständigen Sie die Funktion readImages unter Benutzung Ihrer Hilfsfunktionen GrayScaleImageSeries *readImages(const char *path) {