Condividi tramite


Esclusione del meccanismo di serializzazione

Come si è visto, il framework fornisce una modalità predefinita leggere e scrivere dati da e verso file. La serializzazione attraverso un oggetto dell'archivio indica le necessità di grandi dimensioni più applicazioni. Tale applicazione legge un file interamente in memoria, consente all'utente aggiornare il file e quindi scrive la versione aggiornata su disco nuovamente.

Tuttavia, alcune applicazioni utilizzano dati molto in modo diverso e per queste applicazioni serializzazione tramite un archivio non è appropriato. Gli esempi includono i programmi del database, programmi che consentono di modificare solo le parti di file di grandi dimensioni, i programmi che producono i file di solo testo e programmi che condividono i file di dati.

In questi casi, è possibile eseguire l'override della funzione di Serializzare in modo diverso per mediare le azioni di file attraverso un oggetto di File C anziché un oggetto di CArchive.

È possibile utilizzare Apri, Leggere, Scrittura, Chiudi e le funzioni membro di Seek di classe CFile per aprire un file, spostare il puntatore del file (ricerca) a un punto specifico nel file, leggere un record (un determinato numero di byte) a questo punto, si lascia l'utente aggiornare il record, quindi si trova nello stesso punto ancora e scrivere il record del file. Il framework aperto il file e utilizzare la funzione membro di GetFile di classe CArchive per ottenere un puntatore all'oggetto di CFile. Per l'utilizzo elastica ancora più sofisticata, è possibile eseguire l'override delle funzioni membro di OnSaveDocument e di OnOpenDocument di classe CWinApp. Per ulteriori informazioni, vedere la classe CFile nel Riferimento MFC.

In questo scenario, le l'override di Serialize non eseguono alcuna operazione, a meno che, ad esempio, si desidera eseguirla scrivere e leggere l'intestazione del file per tenerla aggiornata quando il documento viene chiuso.

Vedere anche

Riferimenti

Utilizzo di documenti