Compartir a través de


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

Vea también

Referencia

Clase de archivo C

Gráfico de jerarquía