Guarda che .. .e' impensabile non usare puntatori liste o nel piu' semplice dei casi arrays....
non so quante linee dovranno essere scritte nel file.. ma se quester possono superare le 1000 .. conviene creare un file virtuale (in ram , tanto per fare i lavori piu' velocemnte), costituito, nel piu' semplice dei casi, in array stringa... che ne so... Saziende[5000], di tipo string... , in cui effettui tutte le modifiche... (senza lavorare sui file per direttissima, senno in caso di riscrittura del codice per asltri sistemi oprtaivi, devi andartelo a rivedere in mill epunti..)
su questo array fai le lavorazioni in RAM.. e quando vuoi tu. o quando chiudi il programma, effetui il salvataggio FISICO del file... aprendo il file aziende.txt e buttandoci dentro il contenuto dell' array...
(naturalemente all'avvio del tuo programma.. carichi i file virtuali, nello stesso modo.. apri aziende.txt.. copi le linee nell'array.. e conservi l'indice raggiunto per le eventuali aggiunte...)
so che usare gli array fanno un po pena... ma classi type me metodi, per quanto siano \"eleganti\" ed in grado di rendere gestibili strutture dati da pura follia.. si portano dietro un rallentamento dell'applicazione indescrivibile (valutabili solo in un engine 3D... un milione di vertici in un array, sono una cosa decisamente piu' veloce che un milione di tipi.. )