Поделиться через


Чтение и запись файлов

Если вы использовали функции обработки файлов библиотеки времени выполнения C, операции чтения и записи MFC будут знакомы. В этой статье описывается чтение непосредственно из объекта и запись непосредственно в CFile объект. Вы также можете выполнять буферизацию операций ввода-вывода файла с помощью класса CArchive .

Чтение и запись в файл

  1. Используйте функции-члены Read Write для чтения и записи данных в файле.

    или

  2. Функция-член 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)".

См. также

Файлы