Ouverture de fichiers
Dans MFC, la façon la plus courante d’ouvrir un fichier est un processus en deux étapes.
Pour ouvrir un fichier
Créez l’objet de fichier sans spécifier de chemin d’accès ou d’indicateur d’autorisation.
Vous créez généralement un objet de fichier en déclarant une variable CFile sur le cadre de la pile.
Appelez la fonction Membre Open pour l’objet fichier, en fournissant un chemin d’accès et des indicateurs d’autorisation.
La valeur de retour est
Open
différente de zéro si le fichier a été ouvert correctement ou 0 si le fichier spécifié n’a pas pu être ouvert. LaOpen
fonction membre est prototypeée comme suit :virtual BOOL Open( LPCTSTR lpszFileName, UINT nOpenFlags, CFileException* pError = NULL );
Les indicateurs ouverts spécifient les autorisations, telles que la lecture seule, que vous souhaitez pour le fichier. Les valeurs d’indicateur possibles sont définies en tant que constantes énumérées dans la
CFile
classe, de sorte qu’elles sont qualifiées avec «CFile::
» comme dansCFile::modeRead
. Utilisez l’indicateurCFile::modeCreate
si vous souhaitez créer le fichier.
L’exemple suivant montre comment créer un fichier avec une autorisation de lecture/écriture (en remplaçant tout fichier précédent par le même chemin d’accès) :
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 );
}
Remarque
Cet exemple crée et ouvre un fichier. En cas de problème, l’appel Open
peut retourner un CFileException
objet dans son dernier paramètre, comme illustré ici. La macro TRACE imprime à la fois le nom de fichier et un code indiquant la raison de l’échec. Vous pouvez appeler la AfxThrowFileException
fonction si vous avez besoin de rapports d’erreurs plus détaillés.