loadtxt2.c
/* Beispielprogramm fuer das Lesen von Daten aus einer Textdatei
unter Benutzung der Funktionen
--> fopen
--> fscanf
--> fclose
Unter Benutzung der im Text eingebundenen Kommentare zur Fest-
stellung des korrekten Datenformates */
/* 20.06.1997 Ulrich Kritzner */
#include <stdio.h>
#include <string.h>
float x[20],y[20];
int anz=0;
void ausgabe(void)
{
int i;
// Ausgabe der Anzahl der Punkte :
printf("\n\n Anzahl der Punkte : %d",anz);
// Ausgabe der Koordinaten :
for (i=0;i<anz;i++) {
printf("\n\n Punkt %d",i+1);
printf("\n x-Koordinate : %f",x[i]);
printf("\n y-Koordinate : %f",y[i]);
}
}
void lesen(char *s)
{
FILE *datei;
int i;
float f1,f2;
char s1[21],s2[21];
datei=fopen(s,"rt"); // Textdatei zum Lesen oeffnen
// "rt" : read textfile
if (datei!=NULL) { // Wenn Datei geoeffnet werden konnte
if (fscanf(datei,"%s %d",s1,&anz)!=2)
anz=0; /* stellt beim Lesen fest, ob 2 Datensaetze
erfolgreich gelesen werden konnten */
if (strcmp("Anzahl:",s1)!=0) // Vergleich des Datenformate
anz=0;
for (i=0;i<anz;i++) {
if (fscanf(datei,"%20s %f %20s %f",&s1[0],&f1,&s2[0],&f2)!=4)
anz=0; /* stellt beim Lesen fest, ob 4 Datensaetze
erfolgreich gelesen werden konnten */
if (strcmp("x:",s1)!=0) // Vergleich des Datenformats
anz=0;
if (strcmp("y:",s2)!=0) // Vergleich des Datenformats
anz=0;
x[i]=f1;
y[i]=f2;
}
fclose(datei); // Datei schlieszen
}
}
int main(void)
{
lesen("punkte.txt");
ausgabe();
return 0;
}
Autor: Ulrich Kritzner