Ik probeer een file in te lezen met C
de file:
de eerste poging was de file in te lezen met fscanf
dit gaat goed bij 1 regel, probleem is alleen dat fscanf newlines weggooid zodat je zomaar op de volgende regel aan het lezen bent
met fgets kan ik gewoon een hele regel inlezen, maar sscanf werkt niet hetzelfde als fscanf. de lokatie waar is gelezen wordt niet onthouden. zodat je steeds opnieuw aan het begin van de string begint.
nu zou je steeds de eerste tekens uit de string kunnen gooien maar ik weet niet eens hoeveel dat er zouden moeten zijn.
inlezen per karakter kan natuurlijk wel maar dat is wel wat lastiger met getallen e.d.
er moet toch een betere oplossing zijn.
de file:
elke regel begin met 3 waardes (1 A 120), vervolgens een onbekend aantal blokken met 4 waardes (B 360 0 420, C 600 0 800) en sluit af met 3 waardes (D 1200 0).1 A 120 B 360 0 420 C 600 0 800 D 1200 0
2 E 120 F 360 0 420 G 600 0 800 H 1200 0
de eerste poging was de file in te lezen met fscanf
C:
1
2
| sscanf(s,"%d %d %d",&trein,&station,&vertrek); while (fscanf(f,"%d %d %d %d ",&station,&aankomst,&snelheid,&vertrek) == 4) |
dit gaat goed bij 1 regel, probleem is alleen dat fscanf newlines weggooid zodat je zomaar op de volgende regel aan het lezen bent
met fgets kan ik gewoon een hele regel inlezen, maar sscanf werkt niet hetzelfde als fscanf. de lokatie waar is gelezen wordt niet onthouden. zodat je steeds opnieuw aan het begin van de string begint.
nu zou je steeds de eerste tekens uit de string kunnen gooien maar ik weet niet eens hoeveel dat er zouden moeten zijn.
inlezen per karakter kan natuurlijk wel maar dat is wel wat lastiger met getallen e.d.
er moet toch een betere oplossing zijn.
[ Voor 4% gewijzigd door cosmoOo op 17-09-2003 12:11 ]
It's a known fact that one may train cats to do exactly what they want.