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

Rispondi quotando