/* files2.c */

#include <stdio.h>
#include <stdlib.h> /* für EXIT_SUCCESS, EXIT_FAILURE */

#define STRLEN 128
#define ZEILEN 4
#define SPALTEN 5


int main(void)
{
FILE *fp;
int a[ZEILEN][SPALTEN], i, j, wert=1;
char filename[STRLEN]="/tmp/probedatei";


/* Initialisieren des Arrays a mit Kontrolldaten */
for (i=0; i<ZEILEN; i++)
for (j=0; j<SPALTEN; j++)
a[i][j]=wert++;

/* Schreiben in die Datei filename */
if ((fp=fopen(filename,"wb"))==NULL)
{
fprintf(stderr,"\nFehler beim Öffnen der Datei %s!\n",filename);
return(EXIT_FAILURE);
} /* end if fopen-Fehler */

fwrite( &a, sizeof(int), ZEILEN*SPALTEN, fp);

if (fclose(fp)==EOF)
{
fprintf(stderr,"\nFehler beim Schließen der Datei %s!\n",filename);
return(EXIT_FAILURE);
} /* end if fclose-Fehler */

/* Zur Kontrolle: Lesen der Datei */
/* Davor: Array a mit Nullen belegen */
for (i=0; i<ZEILEN; i++)
for (j=0; j<SPALTEN; j++)
a[i][j]=0;

if ((fp=fopen(filename,"rb"))==NULL)
{
fprintf(stderr,"\nFehler beim Lesen der Datei %s!\n",filename);
return(EXIT_FAILURE);
} /* end if fopen-Fehler */

fread( a, sizeof(a), 1, fp);

if (fclose(fp)==EOF)
{
fprintf(stderr,"\nFehler beim Schließen der Datei %s!\n",filename);
return(EXIT_FAILURE);
} /* end if fclose-Fehler */

/* Kontrollausgabe des Dateiinhalts */
for (i=0; i<ZEILEN; i++)
{
for (j=0; j<SPALTEN; j++)
printf("%4d ",a[i][j]);
printf("\n");
}

return(EXIT_SUCCESS);

} /* end main */

/* end of file files2.c */