Kako ces resavati zahteve ovakvog zadataka zavisi pre svega od nacina kako je previdjeno da se ti 'podaci' smestaju u fajl, tj. kako su formatizovani.
Na primer, jedan od tipicnih nacina smestanja je ovakav (sa TAB-om izmedju, tj gde vidis blanko to je zapravo tab):
Marko Markovic 10.10.2009.
Janko Jankovic 11.11.2009.
Laza Laki Lazarevic 12.12.2009.
...ili (isto kao gore samo sa BLANKOM kao separatorom, ali tada se oprosti od podataka koji semanticki kao celina imaju razmake):
Marko Markovic 10.10.2009.
Janko Jankovic 11.11.2009.
Laza Laki Lazarevic 12.12.2009. // <--- problem, ima i nadimak uz ime, sto ozbiljno narusava format
...ili (posto 3 podataka cine celinu, lako je manipulisati):
Marko
Markovic
10.10.2009.
Janko
Jankovic
11.11.2009.
Laza Laki
Lazarevic
12.12.2009.
...ili (fiksna duzina za svako ime):
Marko Markovic 10.10.2009.
Janko Jankovic 11.11.2009.
Laza Laki Lazarevic 12.12.2009.
E sad, svaki od ovih nacina ima svoje prednosti i nedostatke. U skolama se obicno radi sa BLANKOM kao separatorom, jer je ucitavanje lakse:
http://www.elitesecurity.org/p2219727
(pogledaj kako se puni struktura sa fscanf)
Ovde dolazimo do kljucnog detalja: struktura.
Po meni, za potrebe ovakvih zadataka idealno je napraviti strukturu (niz podataka tipa strukture) koju ces napuniti sadrzajem fajla. Kroz strukturu je lako prolaziti petljom u cilju ispisivanja, uporedjivanja, menjanja (editovanja nekog sloga na osnovu kriterijuma), dodavanja novih slogova i lako je menjati redosled slogova jer se elemeti strukture tretiraju kao celina pri dodelama.
A kada sve to uradis prosto sadrzaj promenjene strukture UPISI u fajl OD NULE.
Razlog za strukturu je i u tome sto kod pristupa fajlovima da NIJE moguc INSERT podataka, tj, imaces probleme pri sledecem:
Ana
Marko
(da dodas Janka izmedju ova dva imena)
ili:
Ana
Marko
(da umesto Ane stavis ime Janko, jer je broj karaktera manji)
Sve ovo ti pricam da je najidealnije za potrebe skolskih zadataka koristiti strukturu za privremeni smestaj sadrzaja fajla, izvrsiti zeljene operacije na samoj strukturi, i na kraju sadrzaj strukture ponovo upisati u fajl.