CFile::CFile
Las construcciones e inicializan un objeto de CFile .
CFile( );
CFile(
CAtlTransactionManager* pTM
);
CFile(
HANDLE hFile
);
CFile(
LPCTSTR lpszFileName,
UINT nOpenFlags
);
CFile(
LPCTSTR lpszFileName,
UINT nOpenFlags,
CAtlTransactionManager* pTM
);
Parámetros
hFile
Identificador de un archivo para asociar a CFile el objeto.lpszFileName
Relativa o ruta de acceso completa de un archivo para asociar a CFile el objeto.nOpenFlags
Combinación bit a bit (OR) de opciones de acceso a archivos para el archivo especificado.Vea la sección comentarios para las opciones posibles.pTM
Puntero al objeto de CAtlTransactionManager
Comentarios
Las cinco tablas siguientes se muestran las opciones posibles del parámetro de nOpenFlags .
Elija solo una de las opciones de modo de acceso del archivo siguiente.El modo de acceso a archivos predeterminado es CFile::modeRead, que es de sólo lectura.
Valor |
Descripción |
---|---|
CFile::modeRead |
Solicita acceso de sólo lectura. |
CFile::modeWrite |
Solicita acceso de escritura. |
CFile::modeReadWrite |
Solicita el acceso de lectura y escritura. |
Elija una de las siguientes opciones de modo de carácter.
Valor |
Descripción |
---|---|
CFile::typeBinary |
Establece el modo binario (utilizado en clases derivadas solo). |
CFile::typeText |
Establece el modo de texto con el procesamiento especial para los pares de retorno- avance de línea de carro (utilizados en clases derivadas solo). |
CFile::typeUnicode |
Establece el modo de Unicode (utilizado en clases derivadas solo).El texto se escribe en el archivo en formato Unicode cuando la aplicación está integrada una configuración de Unicode.No se escribe ningún BOM al archivo. |
Elija solo una de las opciones de modo de recurso compartido de archivos siguiente.El modo de la acción de archivo predeterminado es CFile::shareExclusive, que es exclusivo.
Valor |
Descripción |
---|---|
CFile::shareDenyNone |
Ninguna restricción de uso compartido. |
CFile::shareDenyRead |
Deniega el acceso de lectura a todos los demás. |
CFile::shareDenyWrite |
Deniega el acceso de escritura a todos los demás. |
CFile::shareExclusive |
Deniega el acceso de lectura y escritura a todos los demás. |
Elija el primer, o ambos, opciones de modo de la creación del archivo siguiente.El modo predeterminado de creación es CFile::modeNoTruncate, que es existencia abierto.
Valor |
Descripción |
---|---|
CFile::modeCreate |
Crea un nuevo archivo si no existe ningún archivo; si no, si el archivo ya existe, se asocia el objeto de CFile y se trunca a 0 longitudes. |
CFile::modeNoTruncate |
Crea un nuevo archivo si no existe ningún archivo; si no, si el archivo ya existe, se asocia el objeto de CFile . |
Elija el archivo siguiente que almacena en caché opciones como se describe.De forma predeterminada, el sistema utiliza un esquema de almacenamiento en caché de uso general que no está disponible como una opción.
Valor |
Descripción |
---|---|
CFile::osNoBuffer |
El sistema no utiliza la caché intermedia para el archivo.Esta opción cancela las 2 opciones siguientes. |
CFile::osRandomAccess |
La memoria caché de archivos se optimiza para el acceso aleatorio.No utilice esta opción y la opción secuencial de análisis. |
CFile::osSequentialScan |
La memoria caché de archivos se optimiza para el acceso secuencial.No utilice esta opción y la opción de acceso aleatorio. |
CFile::osWriteThrough |
Las operaciones de escritura se realizan sin demora. |
Elija la opción de seguridad siguiente para evitar que el identificador de archivo es heredado.De forma predeterminada, cualquier nuevo proceso secundario puede utilizar el identificador de archivos.
Valor |
Descripción |
---|---|
CFile::modeNoInherit |
Evita que cualquier proceso secundario utilizando el identificador de archivos. |
El constructor predeterminado inicializa los miembros pero no se asocia un archivo en el objeto de CFile .Después de utilizar este constructor, utilice el método de CFile::Open para abrir un archivo y para adjuntarlo al objeto de CFile .
El constructor con un parámetro inicializa los miembros y asocia un archivo existente al objeto de CFile .
El constructor con dos parámetros inicializa los miembros y los intentos para abrir el archivo especificado.Si abre este constructor correctamente el archivo especificado, el archivo se asocia el objeto de CFile ; si no, este constructor produce un puntero a un objeto de CInvalidArgException .Para obtener más información sobre cómo controlar excepciones, vea excepciones.
Si abre un objeto de CFile correctamente un archivo especificado, se cerrará automáticamente este archivo cuando se destruye el objeto de CFile ; si no, debe cerrar explícitamente el archivo después de que se adjunte ya no al objeto de CFile .
Ejemplo
Muestran los tres constructores en el código siguiente.
HANDLE hFile = CreateFile(_T("CFile_File.dat"),
GENERIC_WRITE, FILE_SHARE_READ,
NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if (hFile == INVALID_HANDLE_VALUE)
{
AfxMessageBox(_T("Couldn't create the file!"));
}
else
{
// Attach a CFile object to the handle we have.
CFile myFile(hFile);
static const TCHAR sz[] = _T("I love CFile!");
// write string
myFile.Write(sz, sizeof(sz));
// We can call Close() explicitly, but the destructor would have
// also closed the file for us. Note that there's no need to
// call the CloseHandle() on the handle returned by the API because
// MFC will close it for us.
myFile.Close();
Requisitos
encabezado: afx.h