Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 12 su 12
  1. #11
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    C'e' un errore di fondo.

    Stai scrivendo dei dati binari in un file in modalita' testo.
    Ovviamente, se ad esempio imposti il valore del giorno a 26, questo verra' interpretato come EOF (End Of File) e cosi' altri caratteri di controllo.

    Il modo con cui stai serializzando la classe e' sbagliato.

    In genere, la classe dovrebbe prevedere un metodo Serialize e un metodo Deserialize (o simili) che gli permettono di scrivere/leggere i dati di una istanza su disco in maniera corretta.

    Il fatto che alcune volte tu abbia problemi e altre no, dipende da cosa e' contenuto nelle variabili di una determinata istanza in un determinato momento.

    Se decidi di usare la fwrite cosi' come hai fatto fino ad ora (cosa che ti sconsiglio ... perche' se hai dei dati che puntano ad aree di memoria allora stai scrivendo su disco solamente i valori dei puntatori e non i dati, e quando li rileggi, non solo i dati non ci stanno ma neanche i puntatori sono validi) allora devi usare i file con accesso binario. Altrimenti utilizza delle funzioni membro apposite e la scrittura in modalita' testo.

  2. #12
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    117
    e come si usano i file con accesso binario?

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