Ciao a tutti, devo risolvere un semplice problema a cui non trovo però soluzione.
Ho questo file di testo: menu.txt così composto
codice:
Piatto   KCalorie
pasta     1024
bistecca  1519
frutta     433
(piatto e KCalorie non ci sono nel file eh! :P )
devo aggiungere per ogni riga il prezzo, ovvero deve diventare così:
codice:
Piatto   KCalorie  Prezzo
pasta     1024       12
bistecca  1519       18
frutta     433        6
ovviamente il problema è che devo modificare le righe, non creare un nuovo file e rinnominarlo.
se apro il file modalità testo, e leggo le variabili di una riga con una
fscanf(fp,"%s %d",s,&d), riporto l'indicatore di posizione all'inizio della stessa riga, e la riscrivo con l'aggiunta:
fprintf(fp,"%s %d %d \n",s,d,12); la riga viene riscritta correttamente ma l'aggiunta mi sovrascrive caratteri della riga successiva..

Se apro il file in modalità append e lettura, riesco ad aggiungere testo nel file, ma soltano alla fine, nonostante sposti l'indicatore di posizione dove voglio..

Avete qualche idea?
Vi scrivo anche il testo dell'esercizio se vi è più utile: Leggere il file e stampare a video il menu dal main dopo la chiamata della funzione e riscriverlo modificato
con l’aggiunta per ogni riga del prezzo di vendita.

Grazie a tutti e scusate la lunghezza del post.