Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    29

    [C++] Scritture in tempi diversi sullo stesso file

    Salve a tutti! Ho creato una funzione che memorizza su file le informazioni di una data classe, solo che chiamandola più volte (su oggetti diversi) mi va sempre a sovrascrivere il file...
    Come posso fare ad impedire ciò?

    Questa è la funzione:
    codice:
    void FileMultimediale::memorizza_dati(const char* file) const{ 
    ofstream OutFile(file, ios::ate);
    OutFile << URL << " " << Kbyte << " " << Formato << endl; 
    OutFile.close(); 
    }
    ios::ate dovrebbe porre il puntatore in scrittura alla fine del file, no?

    Ho anche provato ad aggiungere:
    OutFile.seekp(ios_base::end)
    ma il risultato non cambia...

    Come posso fare a scrivere continuamente sul file, senza sovrascrivere ogni volta quanto c'era prima?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Devi usare

    ios::app

    e non

    ios::ate
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    29
    Grazie mille per la tempestiva risposta! Ora va
    Un utimo dubbio... Ma a questo punto qual è l'utilità di ios::ate? Solo per la lettura?

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    No ... ate posiziona il puntatore alla fine del file una volta sola all'apertura dello stesso, app ad ogni scrittura ... a te comprendere cosa succedeva nel tuo codice.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    29
    Quindi credo che il problema fosse che il puntatore in scrittura restasse all'inizio!
    Comunque grazie mille ancora per il tuo aiuto

  6. #6
    Originariamente inviato da Prog13
    Un utimo dubbio... Ma a questo punto qual è l'utilità di ios::ate? Solo per la lettura?
    Giusto per informazione, esiste un sito ben fatto in cui puoi trovare numerose risorse ed esempi riguardanti il C++, esattamente questo

    Ciao

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 © 2024 vBulletin Solutions, Inc. All rights reserved.