Lecture et écriture de fichiers
Si vous avez utilisé les fonctions de gestion des fichiers de la bibliothèque runtime C, les opérations de lecture et d’écriture MFC s’affichent familières. Cet article décrit la lecture directement depuis et l’écriture directement dans un CFile
objet. Vous pouvez également effectuer des E/S de fichiers mis en mémoire tampon avec la classe CArchive .
Pour lire et écrire dans le fichier
Utilisez les fonctions membres et
Write
lesRead
fonctions membres pour lire et écrire des données dans le fichier.-ou-
La
Seek
fonction membre est également disponible pour passer à un décalage spécifique dans le fichier.
Read
prend un pointeur vers une mémoire tampon et le nombre d’octets à lire et retourne le nombre réel d’octets qui ont été lus. Si le nombre requis d’octets n’a pas pu être lu, car la fin du fichier (EOF) est atteinte, le nombre réel d’octets lus est retourné. Si une erreur de lecture se produit, une exception est levée. Write
est similaire à Read
, mais le nombre d’octets écrits n’est pas retourné. Si une erreur d’écriture se produit, y compris l’écriture de tous les octets spécifiés, une exception est levée. Si vous disposez d’un objet valide CFile
, vous pouvez le lire ou l’écrire comme indiqué dans l’exemple suivant :
TCHAR szBuffer[256];
UINT nActual = 0;
CFile myFile;
if ( myFile.Open( _T("c:\\test\\myfile.dat"), CFile::modeCreate |
CFile::modeReadWrite ) )
{
myFile.Write( szBuffer, sizeof( szBuffer ) );
myFile.Flush();
myFile.Seek( 0, CFile::begin );
nActual = myFile.Read( szBuffer, sizeof( szBuffer ) );
}
Remarque
Vous devez normalement effectuer des opérations d’entrée/sortie dans un try
/catch
bloc de gestion des exceptions. Pour plus d’informations, consultez Gestion des exceptions (MFC).