Partager via


CFile::CFile

Les éléments et initialise un objet d' CFile .

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

Paramètres

  • hFile
    Handle d'un fichier pour attacher à CFile l'objet.

  • lpszFileName
    Parent ou chemin complet d'un fichier pour attacher à CFile l'objet.

  • nOpenFlags
    Combinaison d'opérations de bits (OR) options d'accès au fichier pour le fichier spécifié.Consultez la section Notes pour les options possibles.

  • pTM
    Pointeur vers l'objet de CAtlTransactionManager

Notes

Les cinq tableaux suivants répertorient les options possibles pour le paramètre d' nOpenFlags .

Choisissez une seule des options suivantes de mode d'accès au fichier.Le mode d'accès de fichier par défaut est CFile::modeRead, qui est en lecture seule.

Valeur

Description

CFile::modeRead

Accès en lecture de demandes uniquement.

CFile::modeWrite

Demande l'accès en écriture seule.

CFile::modeReadWrite

Demande l'accès en lecture et en écriture.

Sélectionnez l'une des options suivantes en mode caractère.

Valeur

Description

CFile::typeBinary

Définit le mode binaire (utilisé dans les classes dérivées uniquement).

CFile::typeText

Définit le mode texte avec un traitement spécial pour les paires saut de ligne-retour chariot (utilisées dans les classes dérivées uniquement).

CFile::typeUnicode

Définit le mode Unicode (utilisé dans les classes dérivées uniquement).Le texte est écrit dans le format de fichier au format Unicode lorsque l'application est générée dans une configuration Unicode.Aucun BOM n'est écrit dans le fichier.

Choisissez une seule des options suivantes de mode de partage de fichiers.Le mode de partage de fichiers par défaut est CFile::shareExclusive, qui est exclusif.

Valeur

Description

CFile::shareDenyNone

Aucune restriction de partage.

CFile::shareDenyRead

Refuse l'accès en lecture à tous les autres.

CFile::shareDenyWrite

Refuse l'accès en écriture à tous les autres.

CFile::shareExclusive

Refuse l'accès en lecture et en écriture à tous les autres.

Sélectionnez le premier, ou les deux, options suivantes de mode de création du fichier.Le mode par défaut de création est CFile::modeNoTruncate, existant qui est ouvert.

Valeur

Description

CFile::modeCreate

Crée un fichier si aucun fichier n'existe ; sinon, si le fichier existe déjà, il est attaché à l'objet d' CFile et est tronqué à 0 longueurs.

CFile::modeNoTruncate

Crée un fichier si aucun fichier n'existe ; sinon, si le fichier existe déjà, il est attaché à l'objet d' CFile .

Choisissez les options de mise en cache suivantes de fichier comme décrit dans le tableau.Par défaut, le système utilise un modèle à caractère général de mise en cache qui est pas disponible en tant qu'option.

Valeur

Description

CFile::osNoBuffer

Le système n'utilise pas de cache intermédiaire pour le fichier.Cette option annule les 2 options suivantes.

CFile::osRandomAccess

Le cache du fichier est optimisé pour l'accès aléatoire.n'utilisez pas cette option et l'option séquentielle d'analyse.

CFile::osSequentialScan

Le cache du fichier est optimisé pour un accès séquentiel.N'utilisez pas cette option et l'option d'accès aléatoire.

CFile::osWriteThrough

Les opérations d'Écriture sont exécutées sans tarder.

Choisissez l'option suivante de sécurité pour empêcher le handle de fichier d'être héritée.Par défaut, tous les nouveaux processus enfant peuvent utiliser le handle de fichier.

Valeur

Description

CFile::modeNoInherit

Empêché tous les processus enfant d'utiliser le handle de fichier.

Le constructeur par défaut initialise les membres mais ne joint pas un fichier à l'objet d' CFile .Après utilisation de ce constructeur, utilisez la méthode open pour ouvrir un fichier et le lier à l'objet d' CFile .

Le constructeur avec un paramètre initialise les membres et attache un fichier existant à l'objet d' CFile .

Le constructeur avec deux paramètres initialise des membres et des tests pour ouvrir le fichier spécifié.Si ce constructeur ouvre avec succès le fichier spécifié, le fichier est attaché à l'objet d' CFile ; sinon, ce constructeur lève un pointeur vers un objet d' CInvalidArgException .Pour plus d'informations sur la gestion des exceptions, consultez l' exceptions.

Si un objet d' CFile ouvre avec succès un fichier spécifié, elle ferme ce fichier automatiquement lorsque l'objet d' CFile est détruit ; sinon, vous devez explicitement fermer le fichier après qu'il ne soit plus attaché à l'objet d' CFile .

Exemple

Les trois constructeurs est illustré dans le code suivant.

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

Configuration requise

en-tête : afx.h

Voir aussi

Référence

Classe de fichier C

Graphique de la hiérarchie