Condividi tramite


CFile::CFile

Costrutti e inizializza un oggetto CFile.

CFile( );
CFile(
   CAtlTransactionManager* pTM
);
CFile(
   HANDLE hFile 
);
CFile(
   LPCTSTR lpszFileName,
   UINT nOpenFlags 
);
CFile(
   LPCTSTR lpszFileName,
   UINT nOpenFlags,
   CAtlTransactionManager* pTM
);

Parametri

  • hFile
    Handle di un file per connettersi a CFile l'oggetto.

  • lpszFileName
    Relativo o percorso completo di un file per connettersi a CFile l'oggetto.

  • nOpenFlags
    Combinazione bit per bit (OR) di opzioni dell'accesso ai file per il file specificato.Vedere la sezione relativa alle osservazioni per le possibili opzioni.

  • pTM
    Puntatore all'oggetto di CAtlTransactionManager

Note

I seguenti cinque sono elencate le possibili opzioni per il parametro nOpenFlags.

Scegliere solo una delle seguenti opzioni della modalità di accesso ai file.La modalità di accesso ai file predefinito è CFile::modeRead, che è di sola lettura.

Valore

Descrizione

CFile::modeRead

Richiede l'accesso in sola lettura.

CFile::modeWrite

Richiede l'accesso in scrittura solo.

CFile::modeReadWrite

Richieste e e l'accesso in scrittura.

Scegliere una delle opzioni di tale carattere.

Valore

Descrizione

CFile::typeBinary

Imposta la modalità binaria (utilizzata nelle classi derivate solo).

CFile::typeText

Imposta la modalità testo per l'elaborazione speciale per le coppie di ritorno a capo-avanzamento righe (utilizzate nelle classi derivate solo).

CFile::typeUnicode

Imposta la modalità Unicode (utilizzata nelle classi derivate solo).Il testo viene scritto il file in formato Unicode quando l'applicazione è incorporata una configurazione Unicode.Nessun BOM viene scritto il file.

Scegliere solo una delle opzioni seguenti per la modalità di condivisione file.La modalità predefinita della condivisione di file è CFile::shareExclusive, ovvero vicenda.

Valore

Descrizione

CFile::shareDenyNone

Nessuna restrizione condivisione.

CFile::shareDenyRead

Nega l'accesso in lettura a tutti gli altri.

CFile::shareDenyWrite

Nega l'accesso in scrittura a tutti gli altri.

CFile::shareExclusive

Nega accesso in lettura e scrittura a tutti gli altri.

Selezionare il primo, o entrambi, le opzioni seguenti per la modalità di creazione del file.La modalità predefinita di creazione viene CFile::modeNoTruncate, che è già aperta.

Valore

Descrizione

CFile::modeCreate

Crea un nuovo file se tale file non esiste; in caso contrario, se il file esiste già, è connesso all'oggetto CFile e viene troncato a 0 lunghezza.

CFile::modeNoTruncate

Crea un nuovo file se tale file non esiste; in caso contrario, se il file esiste già, è connesso all'oggetto CFile.

Scegliere le opzioni di memorizzazione nella cache dei file come illustrato.Per impostazione predefinita, il sistema utilizza una combinazione di utilizzo generale di memorizzazione nella cache non disponibile come opzione.

Valore

Descrizione

CFile::osNoBuffer

Il sistema non utilizza una cache intermedio per il file.Questa opzione consente di annullare le seguenti opzioni 2.

CFile::osRandomAccess

La cache dei file sono ottimizzate per l'accesso casuale.Non utilizzare questa opzione e l'opzione sequenziale di scansione.

CFile::osSequentialScan

La cache dei file sono ottimizzate per l'accesso sequenziale.Non utilizzare questa opzione e l'opzione casuale.

CFile::osWriteThrough

Le operazioni di scrittura vengono eseguite immediatamente.

Scegliere la seguente opzione di sicurezza per impedire handle di file da eredita.Per impostazione predefinita, tutti i processi figlio nuovi possibile utilizzare un handle di file.

Valore

Descrizione

CFile::modeNoInherit

Impedisce tutti i processi figlio dall'utilizzo di un handle di file.

Il costruttore predefinito inizializza i membri ma non aggiunge un file all'oggetto CFile.Dopo avere eseguito questo costruttore, utilizzare il metodo CFile::Open per aprire un file e per associarlo all'oggetto CFile.

Il costruttore accetta un parametro inizializza i membri e aggiunge un file esistente all'oggetto CFile.

Il costruttore accetta due parametri inizializza i membri e tenta di aprire il file specificato.Se questo costruttore correttamente aperto il file specificato, il file viene associato all'oggetto CFile ; in caso contrario, il costruttore genera un puntatore a un oggetto CInvalidArgException.Per ulteriori informazioni su come gestire le eccezioni, vedere Eccezioni.

Se un oggetto CFile correttamente apre un file specificato, chiuderà questo file viene automaticamente quando l'oggetto CFile viene eliminato; in caso contrario, è necessario dichiarare in modo esplicito chiudere il file dopo che non è più connesso all'oggetto CFile.

Esempio

Tutti e tre i costruttori sono illustrati nel codice seguente.

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();

Requisiti

intestazione: afx.h

Vedere anche

Riferimenti

Classe del file C

Grafico della gerarchia