词条 | CMemFile |
释义 | CMemFile为支持内存文件的CFile的派生类。内存文件的行为类似于磁盘文件,所不同的是该文件存储在RAM中,而不是磁盘上。内存文件用于快速暂时存储,以及在独立的进程间转换字节或可串行化的对象。 CMemFile对象能够自动地分配它们的内存空间,或通过调用Attach函数为CMemFile对象附加内存块。另一种情形,如果nGrowBytes非零,那么将自动地以nGrowBytes为单位为增加的内存文件分配内存。 可以通过提供的指针访问内存块,此时可以通过调用Detach函数将其从CMemFile对象中分离出来。 CMemFile函数最一般的用途是创建CMemFile对象,并通过调用CFile成员函数来使用它。值得注意的是当创建CMemFile后将自动得打开它:不要调用仅仅用于磁盘文件的CFile::Open函数,其原因在于没有使用数据成员CFile::m_hFile。 CFile成员函数Duplicate, LockRange和UnlockRange对于CMemFile无效。如果在CMemFile对象中调用了这些函数,那么将获得CnotSupported Exception。 CMemFile使用了运行库函数malloc, realloc,和free来分配、重新分配和释放内存,而原有的memcpy函数在进行读写时,可以块拷贝。如果希望改变这种行为或CMemFile增大文件的行为,那么应当从CMemFile中派生自己的类,并辅以适当的函数。 #include <afx.h> CMemFile类的成员 构造函数 CMemFile 构造一个内存文件对象 操作 Attach 附加内存块到CMemFile中 Detach 从CMemFile中分离内存块,并返回被分离的内存块的指针 高级可覆盖的函数 Alloc 可覆盖以用于修改内存分配行为 Free 可覆盖以用于修改释放内存行为 Realloc 可覆盖以用于修改重新分配内存行为 Memcpy 可覆盖以用于读写时修改内存拷贝行为 GrowFile 可覆盖以用于修改文件增大时的行为 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。