Ouverture de fichiers
Dans MFC, la façon la plus courante pour ouvrir un fichier est un processus en deux étapes.
Pour ouvrir un fichier.
Créez le fichier objet sans spécifier de chemin d'accès ou d'indicateurs d'autorisation.
Vous créez généralement un objet fichier lorsque vous déclarez une variable Fichier C sur le frame de pile.
Appelez la fonction membre Ouvrir du fichier objet, en indiquant le chemin d'accès et les indicateurs d'autorisation.
La valeur de retour pour Open est 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. La fonction membre Open est prototypée comme suit :
virtual BOOL Open( LPCTSTR lpszFileName, UINT nOpenFlags, CFileException* pError = NULL );
Les balises ouvertes spécifient quelles autorisations, par exemple en lecture seule, vous souhaitez pour le fichier. Les valeurs d'indicateur possibles sont définies comme constantes énumérées dans la classe CFile, elles sont qualifiées par « CFile:: » comme dans CFile::modeRead. Utilisez l'indicateur CFile::modeCreate si vous souhaitez créer le fichier.
L'exemple suivant montre comment créer un fichier avec autorisation de lecture/écriture (en remplaçant un fichier précédent avec 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 );
}
Notes
Cet exemple crée et ouvre un fichier.Si il y a des problèmes, l'appel à Open peut retourner un objet CFileException dans son dernier paramètre, comme illustré ici.La macro TRACE affiche le nom et le code indiquant la raison de l'échec.Vous pouvez appeler la fonction AfxThrowFileException si vous avez besoin d'un rapport d'erreurs plus détaillé.