savedat.c
/* Beispielprogramm fuer das Speichern von Daten in einer Binaerdatei
unter Benutzung der Funktionen
--> fopen
--> fwrite
--> fclose */
/* 20.06.1997 Ulrich Kritzner */
#include <stdio.h>
float x[20],y[20];
int anz=0;
void eingabe(void)
{
int i;
float f;
// Eingabe der Anzahl der Punkte :
do {
printf("\n\n Anzahl der Punkte (1-20) : ");
scanf("%d",&anz);
if ((anz>20) || (anz<1))
printf("\n ungueltige Eingabe");
} while ((anz>20) || (anz<1));
// Eingabe der Koordinaten :
for (i=0;i<anz;i++) {
printf("\n Punkt %d",i+1);
printf("\n x-Koordinate : ");
scanf("%f",&f);
x[i]=f;
printf("\n y-Koordinate : ");
scanf("%f",&f);
y[i]=f;
}
}
void schreiben(char *s)
{
FILE *datei;
int i;
datei=fopen(s,"wb"); // Binaerdatei zum schreiben oeffnen
// "wb" : write binary file
if (datei!=NULL) { // Wenn Datei geoeffnet werden konnte
fwrite(&anz,sizeof(int),1,datei);
fwrite(&x[0],sizeof(float),anz,datei);
fwrite(&y[0],sizeof(float),anz,datei);
fclose(datei); // Datei schlieszen
}
}
int main(void)
{
eingabe();
schreiben("punkte.dat");
return 0;
}
Autor: Ulrich Kritzner