CMemFile选件类

C文件-支持内存文件的派生类。

class CMemFile : public CFile

成员

tzdxd4x0.collapse_all(zh-cn,VS.110).gif公共构造函数

名称

说明

CMemFile::CMemFile

构造内存文件对象。

tzdxd4x0.collapse_all(zh-cn,VS.110).gif公共方法

名称

说明

CMemFile::Attach

附加内存块。CMemFile

CMemFile::Detach

分离内存块从 CMemFile 并返回指向分离的内存块。

tzdxd4x0.collapse_all(zh-cn,VS.110).gif受保护的方法

名称

说明

CMemFile::Alloc

修改内存分配行为的重写。

CMemFile::Free

修改内存释放行为的重写。

CMemFile::GrowFile

修改行为的重写,当存在文件时。

CMemFile::Memcpy

修改内存中复本行为的重写,在读取和写入文件时。

CMemFile::Realloc

修改内存重新分配行为的重写。

备注

这些内存文件的行为与磁盘文件,排除文件在RAM中而不是磁盘。 内存文件进行快速临时存储非常有用的或对调用原始的字节或序列化的对象处于独立进程。

CMemFile 对象可以自动将其分配的内存或可以附加到的内存块向 CMemFile 对象是通过调用 附加。 在任一情况下,因此,如果 nGrowBytes 不为零,可能存在的内存文件中存在 nGrowBytes大小增加自动指派。

内存块将被自动删除在 CMemFile 对象析构 CMemFile 对象是否最初分配内存;否则,您负责释放程序附加到对象的内存。

您可以通过访问所提供的指针内存块,则通过调用 分离分离它从 CMemFile 对象时。

最常见 CMemFile 是创建 CMemFile 对象并使用它通过调用 C文件 成员函数。 请注意创建 CMemFile 的,自动将其打开:您不调用 CFile::Open,对于磁盘文件只使用。 由于 CMemFile 不使用一个磁盘文件,不使用数据成员 CFile::m_hFile 并没有意义。

CFile 成员函数 重复LockRangeUnlockRange 没有为 CMemFile实现。 如果对 CMemFile 对象的这些功能,您将收到 CNotSupportedException

CMemFile 使用运行库函数 mallocrealloc 分配,分配和释放内存;和内部块复制内存的 memcpy,在读取和写入时。 如果要更改此行为或该行为,当 CMemFile 其文件时,从 CMemFile 派生您的选件类并重写相应的功能。

有关 CMemFile 的更多信息,请参见文章 Files in MFC内存管理 (MFC) 并查看 运行库参考 中的 文件处理

继承层次结构

CObject

C文件

CMemFile

要求

Header: afx.h

请参见

参考

C文件选件类

层次结构图