C textdatei in array einlesen - zum zweiten

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

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

Hallo

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?

Analog zum Vorhergehenden, durch sscanf mit einem
weiteren ‚%f‘ - Element.

sscanf(zeile, "%f %f", &v1, &v2)

Die entsprechenden Variablen müssen vorher
natürlich vereinbart werden, also z.B.:

#include 

 int main() 
{
 char fname[] = "rot.txt";
 char zeile[128]; /\* Zeilenbreite max. \*/
 float z1[512]; /\* max. Anzahl werte \*/
 float z2[512]; /\* max. Anzahl werte \*/
 int i, N = 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 v1, v2;
 if(sscanf(zeile, "%f %f", &v1, &v2) == 2) {
 z1[N] = v1;
 z2[N] = v2;
 N++;
 }

 }
 fclose(fp);

 /\* Teil 2: Auswerten \*/
 printf("%d Werte gefunden\n", N);
 for(i=0; i

Grüße

CMБ