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