

Программирование на языке MFC
Мой второй блог в серии программирования
Функция memcpy
Как мы и ожидали, этому методу передаются указатель на буфер-приемник данных, указатель на буфер-источник данных и количество байтов, которые должны быть скопированы. При этом копирование происходит при помощи функции memcpy().
Как мне представляется, этот метод является вспомогательным и предназначен прежде всего для обеспечения нормальной работы методов Read() и WriteQ.
Исходный код метода Read(), предназначенного для чтения информации из файла в памяти, находится в файле filemem.cpp:
UINT CMemFile::Read(void* lpBuf, UINT nCount) {
ASSERT_VALID(this);
if (nCount == 0) return 0;
ASSERT(lpBuf != NULL);
ASSERT(AfxIsValidAddress(lpBuf, nCount));
if (m_nPosition > m_nFileSize) return 0;
UINT nRead;
if (m_nPosition + nCount > m_nFileSize)
nRead = (UINT)(m_nFileSize – m_nPosition);
else
nRead = nCount;
Memcpy((BYTE*)lpBuf,
(BYTE*)m_lpBuffer + m_nPosition,
nRead); m_nPosition += nRead;
ASSERT_VALID(this); return nRead;
}
Похожие статьи: Функция memcpy
