Compartir por


Omitir el mecanismo de serialización

Como ha visto, el marco proporciona una manera predeterminada de leer y escribir datos en archivos. La serialización a través de un objeto de archivo se adapta a las necesidades de una gran variedad de aplicaciones. Esta aplicación lee un archivo completamente en la memoria, permite al usuario actualizar el archivo y, a continuación, vuelve a escribir la versión actualizada en el disco.

Sin embargo, algunas aplicaciones funcionan con datos de forma muy diferente y, para estas aplicaciones, la serialización a través de un archivo no es adecuada. Algunos ejemplos incluyen programas de base de datos, programas que editan solo partes de archivos grandes, programas que escriben archivos de solo texto y programas que comparten archivos de datos.

En estos casos, puede reemplazar la función Serialize de otra manera para mediar acciones de archivo a través de un objeto CFile en lugar de un objeto CArchive.

Puede usar las funciones miembro Open, Read, Write, Close y Seek de clase CFile para abrir un archivo, mover el puntero de archivo (buscar) a un punto específico del archivo, leer un registro (un número específico de bytes) en ese punto, permitir al usuario actualizar el registro y, a continuación, buscar el mismo punto de nuevo y volver a escribir el registro en el archivo. El marco abrirá el archivo automáticamente y podrá usar la función miembro GetFile de la clase CArchive para obtener un puntero al objeto CFile. Para un uso aún más sofisticado y flexible, puede reemplazar las funciones miembro OnOpenDocument y OnSaveDocument de la clase CWinApp. Para más información, consulte la clase CFile en la Referencia de MFC.

En este escenario, la invalidación de Serialize no hace nada, a menos que, por ejemplo, desee que se lea y escriba un encabezado de archivo para mantenerlo actualizado cuando se cierre el documento.

Consulte también

Uso de documentos