Hallo,
Ich bin es mal wieder^^
Ich möchte eine formatierte Datei zeilenweise einlesen, dabei aber gleichzeitig zwei Formen berücksichtigen
1. [Zahl]:[Großbuchstabe];
2. [Zahl]->[Zahl];
Meine erste Idee war die folgende:
Allerdings kann es natürlich nicht funktionieren, da fscanf ja zweimal ausgeführt wird.
Ich bräuchte Anregungen für eine Umsetzung.
Danke im Voraus!
P.S. file.dat:
Ich bin es mal wieder^^
Ich möchte eine formatierte Datei zeilenweise einlesen, dabei aber gleichzeitig zwei Formen berücksichtigen
1. [Zahl]:[Großbuchstabe];
2. [Zahl]->[Zahl];
Meine erste Idee war die folgende:
Code:
#include <stdio.h>
int main() {
int error=0, i=-1,o1=-1,o2=-1;
char c='0';
FILE *datei;
datei = fopen ("file.dat", "r");
if(datei){
while(!error){
if ((fscanf(datei, "%i:%c;", &i, &c) != EOF) && (c>=65) && (c<=90) && (i>0) && (i<10000))
printf("Nummer %i mit Label %c wurde definiert\n", i, c);
else if((fscanf(datei, "%i->%i;", &o1, &o2) != EOF) && (o1>0) && (o1<10000) && (o2>0) && (o2<10000))
printf("%i zeigt auf %i\n", o1, o2);
else
error=1;
}
fclose (datei);
}
Ich bräuchte Anregungen für eine Umsetzung.
Danke im Voraus!
P.S. file.dat:
Code:
1:A;
2:B;
3:C;
4:E;
5:F;
6:D;
7:E;
8:F;
9:D;
1->2;
1->3;
1->4;
1->5;
2->6;
2->7;
3->8;
3->9;