C textdatei in array einlesen - zum zweiten
Von: , Frage gestellt am Mo, 3. Aug 2009
Hallo ich habe vor nicht allzu langer Zeit hier die Frage gestellt wie man eine textdatei in C in ein Array einlesen kann um dann damit weiterzuarbeiten, vorallem zu rechnen.
Die funktionierende Loesung dafuer war auch sehr gut:
#include <stdio.h>
int main()
{
char fname[] = "rot.txt";
char zeile[128]; /* Zeilenbreite max. */
float rot[512]; /* max. Anzahl werte */
int i, nRot = 0; /* noch 0 Werte */
FILE *fp = fopen(fname,"rt");
/* Teil 1: Einlesen */
printf("Lese %s\n", fname);
if(fp == NULL) {
perror(fname);
return 1;
}
while(fgets(zeile, sizeof(zeile), fp)) {
float val;
if(sscanf(zeile, "%f", &val) > 0) {
rot[nRot] = val;
nRot++;
}
}
fclose(fp);
/* Teil 2: Auswerten */
printf("%d Werte gefunden\n", nRot);
for(i=0; i<nRot; i++) printf("%f\n", rot[i]);
return 0;
}
dies funktioniert gut, wenn ich nur eine spalte in der Datei habe.
Nun habe ich aber mehrere Spalten, jeweils durch Leerzeichen getrennt.
z.B.
1 3
7 14
8 16
11 15
Die Reihen sollen nun jeweils in ein eignes Array eingelesen werden. z1[i] und z2[i].
Kann mir jemand vielleicht helfen wie ich C erklaere, dass es mehrere Spalten sind?
Danke
