Jeroen schreef:Zo nummert hij de regels wel leuk 1,4 en 7, maar hij leest toch alleen maar de 1e drie regels.
Ik heb gemerkt als ik na "else" ook een fgets functie doe, dat hij dan wel de juiste regels leest,
Op het moment dat je een fgets doet, wordt er een regel gelezen. Op het moment dat jij in de else alleen
printf("regel overgeslagen") doet, slaat dat natuurlijk niet echt een regel over. Aan de status van dat bestand (en diens interne filepointer e.d.) verandert niets.
De eerstvolgende keer dat er een fgets gedaan wordt krijg je gewoon de eerstvolgende regel na degene die als laatste gelezen was. Jouw hele for loop en of je daar nu 2 van 3 de drie keer iets in else doet maakt daarvoor geen enkel verschil.
Wat je bijvoorbeeld kunt doen is in het else gedeelte
fgets(dummy,100,lijst) waarbij dummy een loze buffer is waar fgets de ongebruikte regels mag dumpen.
maar dan heb ik nog steeds het probleem dat hij met die fgets functie ook een hele hoop regels in het geheugen opslaat die ik niet nodig heb.
Logisch, jij schrijft naar regel
, waarbij i een counter is die alle regels van het bestand representeert (ook degene die je overslaat). In plaats daarvan heb je een counter nodig van alle feitelijk opgeslagen regels. En die heb je al: n.
Dus gebruik gewoon regel[n] in plaats van regel. Idem voor type[n] enzo.
Heb je naderhand trouwens die regels uberhaupt wel nodig, aangezien je de type en id informatie ook al los opslaat?
In theory, there's no difference between theory and practice. In practice, there is.