Ciao a tutti, devo risolvere un semplice problema a cui non trovo però soluzione.
Ho questo file di testo: menu.txt così composto
Piatto KCalorie
pasta 1024
bistecca 1519
frutta 433
(piatto e KCalorie non ci sono nel file eh! )
devo aggiungere per ogni riga il prezzo, ovvero deve diventare così:
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.