Чтение и запись файлов
Если вы использовали функции обработки файлов библиотеки времени выполнения C, операции чтения и записи MFC будут знакомы. В этой статье описывается чтение непосредственно из объекта и запись непосредственно в CFile
объект. Вы также можете выполнять буферизацию операций ввода-вывода файла с помощью класса CArchive .
Чтение и запись в файл
Используйте функции-члены
Read
Write
для чтения и записи данных в файле.или
Функция-член
Seek
также доступна для перемещения в определенное смещение в файле.
Read
принимает указатель на буфер и число байтов для чтения и возвращает фактическое число байтов, которые были прочитаны. Если требуемое число байтов не удалось прочитать, так как достигается конец файла (EOF), возвращается фактическое число байтов. Если возникает любая ошибка чтения, создается исключение. Write
аналогичен Read
, но число записанных байтов не возвращается. Если возникает ошибка записи, включая запись всех указанных байтов, создается исключение. Если у вас есть допустимый CFile
объект, его можно считывать или записывать в него, как показано в следующем примере:
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 ) );
}
Примечание.
Обычно в блоке обработки исключений try
/catch
следует выполнять операции ввода и вывода. Дополнительные сведения см. в разделе "Обработка исключений( MFC)".