Abrir archivos
En MFC la forma más frecuente de abrir archivos consiste en un proceso de dos fases.
Para abrir un archivo
Cree el objeto de archivo sin indicar una ruta de acceso o marcas de permiso.
Normalmente se crea un objeto de archivo al declarar una variable CFile en marco de pila.
Llame a la función miembro Abrir para el objeto de archivo y proporcione una ruta de acceso y marcas de permiso.
El valor devuelto de
Open
no será 0 si el archivo se abrió correctamente y si no se puede abrir el archivo se devolverá 0. Se crea un prototipo para la función miembroOpen
de la siguiente manera:virtual BOOL Open( LPCTSTR lpszFileName, UINT nOpenFlags, CFileException* pError = NULL );
Las marcas abiertas especifican los permisos, como de solo lectura, que quiere que tenga el archivo. Los valores de marca posibles se definen como constantes enumeradas en la clase
CFile
, por lo que se califican con "CFile::
" como enCFile::modeRead
. Use la marcaCFile::modeCreate
para crear el archivo.
En el ejemplo siguiente se explica cómo se crea un nuevo archivo con permiso de lectura y escritura, que reemplazará cualquier archivo anterior con la misma ruta de acceso:
TCHAR* pszFileName = _T("c:\\test\\myfile.dat");
CFile myFile;
CFileException fileException;
if ( !myFile.Open( pszFileName, CFile::modeCreate |
CFile::modeReadWrite, &fileException ) )
{
TRACE( _T("Can't open file %s, error = %u\n"),
pszFileName, fileException.m_cause );
}
Nota:
En este ejemplo se ilustra como crea y abre un archivo. Si hay problemas, la llamada Open
puede devolver un objeto CFileException
en su último parámetro, como se muestra aquí. La macro TRACE imprime el nombre de archivo y el código que indica el motivo del error. Puede llamar la función AfxThrowFileException
si necesita informes de errores con más detalle.