﻿


#include <stdio.h>


typedef struct
{
  int top;
  int left;
  int bottom;
  int right;
} Rectangle;


void printRectangle(Rectangle* rect)
{
  printf("top: %d\nleft: %d\nbottom: %d\nright: %d\n",
         rect->top,
         rect->left,
         rect->bottom,
         rect->right);
}


int main()
{
  Rectangle rect;
  FILE *file;

  rect.top = 10;
  rect.left = 42;
  rect.bottom = 1010;
  rect.right = 3000;

  printRectangle(&rect);
  printf("\nSaving Rectangle to file\n");

  // Datei zum Schreiben im Binärmodus öffnen
  file = fopen("test.dat", "wb");

  fwrite(&rect, sizeof(Rectangle), 1, file);

  fclose(file);  // Nicht vergessen: Datei wieder schließen

  rect.top = rect.left = rect.bottom = rect.right = 0;

  printf("\nRectangle set to Zero:\n");
  printRectangle(&rect);

  printf("\nReading Rectangle from file\n\n");

  // Datei zum Lesen im Binärmodus öffnen
  file = fopen("test.dat", "rb");

  fread(&rect, sizeof(Rectangle), 1, file);

  printRectangle(&rect);

  fclose(file);

  return 0;
}
