Программирование на языке MFC

Мой второй блог в серии программирования

Метод Read


Аргументами при вызове файла являются указатель на буфер, в который будут считаны данные, а также количество байтов, кото­рые предполагается считать. Так как тип второго аргумента – UINT, то максимальное число байтов, которые мы можем считать, равно максимальному числу, которое можно разместить в переменной этого типа. Естественно, это зависит от системы, на которой запу­щена программа.

слово возвращаемого функцией ReadByte() значения равен NULL. Так как мы заведомо не можем указать, что считываем более байтов, чем можно указать при помощи UlNT’a, то коли­чество считанных байтов уложится в 32 разряда, и указатель на двойное слово, содержащее старшие 32 разряда числа считан­ных байтов, нам просто-напросто не нужен. Как и обычно, в слу­чае ошибки формируется исключение.

Для считывания информации можно воспользоваться также и ме­тодом ReadHuge(). Его исходный код находится в файле afx.ini:

_AFX_INLINE DWORD CFile::ReadHuge(void* lpBuffer,

DWORD dwCount) { return (DWORD)Read(lpBuffer, (UINT)dwCount); }

Похожие статьи: