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