Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    9

    [C] Aggiunta su file di testo.

    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.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Devi ricreare il file e rinominarlo.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    9
    devo modificare quello che ho. non posso ricrearlo.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Allora lo leggi tutto in memoria e lo riscrivi modificato.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    9
    e riesco a rileggere le variabili poi?

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da CRIz
    e riesco a rileggere le variabili poi?
    Cioe'? Che vuol dire?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    9
    Originariamente inviato da oregon
    Cioe'? Che vuol dire?
    pasta è una stringa
    1024 è int
    12 è int

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da CRIz
    pasta è una stringa
    1024 è int
    12 è int
    E quindi? Qual e' il problema?

    Non hai detto che utilizzavi la

    fscanf(fp,"%s %d",s,&d)
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    ho provato a scriverlo ma per salvarmi tutto in memoria sono obbligato a usare dati dinamici come le code, perché a priori non so quanto so quanto è lungo il file...

  10. #10
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    9
    forse è proprio l'unica alternativa.
    usare le liste, salvando tutti i dati e riscrivendo tutto il file interamente.

    qualcuno ha qualche altra idea?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.