Condividi tramite


Aprire i file

In MFC, il metodo più comune per aprire un file è un processo in due fasi.

Per aprire un file

  1. Creare l'oggetto file senza specificare un percorso o i contrassegni di autorizzazione.

    Generalmente si crea un oggetto file dichiarare una variabile di file C sullo stack frame.

  2. Chiamare la funzione membro di Aprire per l'oggetto file, fornendo un percorso e i contrassegni di autorizzazione.

    Il valore restituito per Open sarà diverso da zero se il file è stato aperto correttamente o 0 se il file specificato non può essere aperto.La funzione membro di Open è con prototipo come segue:

    virtual BOOL Open( LPCTSTR lpszFileName, UINT nOpenFlags, CFileException* pError = NULL );

    I flag aperti specifica che le autorizzazioni, come di sola lettura, si desiderano il file.Valori di flag possibili sono definiti come costanti enumerate all'interno di CFile classe, in modo che vengano deve essere qualificato con “CFile::„ come in CFile::modeRead.Utilizzare il flag di CFile::modeCreate se si desidera creare il file.

Nell'esempio seguente viene illustrato come creare un nuovo file con autorizzazione di lettura/scrittura /scrittura (che sostituisce qualsiasi file precedente con lo stesso percorso):

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]

In questo esempio viene creato e aperto un file.Se sono presenti problemi, la chiamata di Open può restituire un oggetto di CFileException nell'ultimo parametro, come illustrato di seguito.La macro di TRACE stampa il nome file sia un codice che indicano la causa dell'errore.È possibile chiamare la funzione di AfxThrowFileException se è richiesta la generazione di report sugli errori più dettagliata.

Vedere anche

Riferimenti

Classe CFile

CFile::Open

Concetti

File in MFC