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

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

Метод Write


Разница между методами Read() и ReadHuge() будет заметна только на тех системах, на которых максимальное значение UlNT’a не равно максимальному значению, которое может быть записано при помощи DWORD’a.

Записывать данные в файл можно при помощи метода Write(), исходный код которого находится в файле fiulecore.cpp:

void CFile::Write(const void* lpBuf, UINT nCount) {

ASSERT_VALID(this);

ASSERT(m_hFile != (UINT)hFileNull);

if (nCount == 0)

return; // avoid Win32 "null-write" option

ASSERT(lpBuf != NULL);

ASSERT(AfxIsValidAddress(lpBuf, nCount, FALSE)); DWORD nWritten;

if (!::WriteFile((HANDLE)m_hFile, lpBuf, nCount, SnWritten, NULL))

CFileException::ThrowOsError((LONG) ::GetLastError() ,

m_strFileName);

// Win32s will not return an error // all the time (usually DISK_FULL) if (nWritten != nCount)

AfxThrowFileException (CFileException:idiskFull,

-1, m_strFileName);

}

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