CMemFile函数最一般的用途是创建CMemFile对象,并通过调用CFile成员函数来使用它。值得注意的是当创建CMemFile后将自动得打开它:不要调用仅仅用于磁盘文件的CFile::Open函数,其原因在于没有使用数据成员CFile::m_hFile。
内存映射文件是为了解决磁盘的读写瓶颈(I/O)。
内存文件CMemFile则可以用在一些绝密的场合。
很多时候,程序会产生一些临时文件,而这些临时文件又涉及到一些绝密的数据信息,这时候,一般有这几种解决方法:加密之后再保存到磁盘中;直接解到内存中。
CMemFile类可以把这些绝密数据解密到内存中,并当作文件来处理。
解压到磁盘的缺点:任何文件,只要写入到磁盘,一般的删除方法都无法彻底删除这些数据,因为,磁介质的信号是无法一次性清除的。而内存则不同,只要断电,内存的数据就会马上丢失。
//C++
LPCTSTR lpszString = "ABCDEFGHIJKLMN "; //要写入文件的数据
//定义一个CMemFile对象,该对象并不对应磁盘文件,而是一块内存
CMemFile file;
file.Write(lpszString, lstrlen(lpszString)); //写
file.SeekToBegin(); //把文件指针移动到文件开头
TCHAR lpszBuf[255] = {0};
file.Read(lpszBuf, 255);
AfxMessageBox(lpszBuf); //把读出的