Compartir por


Leer y escribir en archivos

Si ha usado las funciones de control de archivos de la biblioteca en tiempo de ejecución de C, las operaciones de lectura y escritura de MFC le van a parecer conocidas. En este artículo se explican la lectura y la escritura directas en un objeto CFile. También puede realizar E/S de archivos almacenados en búfer con la clase CArchive.

Para leer y escribir en el archivo

  1. Use las funciones miembro Read y Write para leer y escribir datos en el archivo.

    o bien

  2. La función miembro Seek también está disponible para ir a un desplazamiento específico dentro del archivo.

Read toma un puntero a un búfer y el número de bytes que se van a leer y devuelve el número real de bytes leídos. Si no se puede leer el número necesario de bytes porque se alcanza el fin de archivo (EOF), se devuelve el número real de bytes leídos. Si se produce algún error de lectura, se inicia una excepción. Write es similar a Read, aunque no se devuelve el número de bytes escritos. Si se produce un error de escritura, incluida la no escritura de todos los bytes especificados, se inicia una excepción. Si tiene un objeto válido CFile, puede leer o escribir en él como se muestra en el ejemplo siguiente:

TCHAR   szBuffer[256]; 
UINT    nActual = 0; 
CFile   myFile;

if ( myFile.Open( _T("c:\\test\\myfile.dat"), CFile::modeCreate |   
   CFile::modeReadWrite ) )
{
   myFile.Write( szBuffer, sizeof( szBuffer ) ); 
   myFile.Flush();
   myFile.Seek( 0, CFile::begin );
   nActual = myFile.Read( szBuffer, sizeof( szBuffer ) ); 
}

Nota:

Normalmente debe llevar a cabo operaciones de entrada y salida dentro de un bloque de control de excepciones try/catch. Para obtener más información, vea Control de excepciones (MFC).

Consulte también

Archivos