EVC内存和文件交互
来源:互联网 发布:mac 重命名移动硬盘 编辑:程序博客网 时间:2024/06/05 18:29
//========================================================================
//TITLE:
// EVC内存和文件交互
//AUTHOR:
// norains
//DATE:
// Saturday 13-May-2006
//========================================================================
采用MFC的CFile类可以很方便实现将文件的数据读入内存,或者把内存的数据保存为文件.
/*************************************************************/
作用:将文件数据读入内存
szFilePath:读取的文件路径
pBaseBuf:写入的内存缓冲区
dwBufLen:写入的内存缓冲区长度
/*************************************************************/
BOOL CopyFileDateToMem(CString szFilePath,PBYTE &pBaseBuf,DWORD &dwBufLen)
{
CFile mFile(szFilePath,CFile::modeRead);
dwBufLen=mFile.GetLength();
pBaseBuf=(PBYTE)realloc (pBaseBuf, dwBufLen);
if(pBaseBuf==NULL)
return FALSE;
mFile.Read(pBaseBuf,dwBufLen);
mFile.Close();
return TRUE;
}
/*************************************************************/
作用:将内存数据写入文件
pBaseBuf:读取的内存缓冲区
dwBufLen:读取的内存缓冲区长度
szFilePath:写入的文件路径
/*************************************************************/
BOOL CopyMemDateToFile(PBYTE pBaseBuf, DWORD dwBufLen, CString szFilePath)
{
CFile mFile(szFilePath,CFile::modeWrite|CFile::modeCreate);
mFile.Write(pBaseBuf,dwBufLen);
mFile.Flush();
mFile.Close();
return TRUE;
}
调用的方法也很简单,不过需要注意的是,在调用之前,需要对缓冲区进行初始化:
BOOL OnlyTest()
{
DWORD m_dwReadBufLen;
DWORD m_dwSaveBufLen;
PBYTE m_pBaseReadBuf;
PBYTE m_pBaseSaveBuf;
m_pBaseReadBuf = reinterpret_cast<PBYTE>(malloc(1));
m_pBaseSaveBuf = reinterpret_cast<PBYTE>(malloc(1));
if(CopyFileDateToMem(L"test1.txt",m_pBaseReadBuf,m_dwReadBufLen))
{
return TRUE;
}
else
{
return FALSE;
}
if(CopyMemDateToFile(m_pBaseSaveBuf,m_dwSaveBufLen,L"test2.txt"))
{
return TRUE;
}
else
{
return FALSE;
}
}
- EVC内存和文件交互
- 内存管理和文件操作
- win32 24内存管理和文件操作
- 内存映射和文件操作函数
- Lucene_demo05_内存索引和文件索引
- android清理内存缓存和文件缓存
- 关于MappedByteBuffer占用内存和文件关闭
- JavaEE中文件的下载和文件的上传(--------前后台交互----------)
- WIN32汇编: 12.内存管理和文件输入输出
- IPC共享内存和文件映射编程及实现分析
- IPC共享内存和文件映射编程及实现分析
- Android中内存缓存和文件缓存的实现原理
- Android中内存缓存和文件缓存的实现原理
- lucene学习 内存索引库和文件索引库结合
- sqlite内存数据库和文件数据库的同步
- sqlite内存数据库和文件数据库的同步
- 【C语言】通讯录:动态开辟内存版和文件版本
- [原创]内存文件读写类CMemoryFile(内存中模拟目录和文件)
- 一条短信
- Web发展历程及技术发展趋势的一些个人看法
- 转换VC工程为UNICODE版的方法
- 我和老师去家访
- Have A Test!
- EVC内存和文件交互
- ASP.NET会话(Session)保存模式
- VS2005使用distutils模块自动编译python扩展模块
- 数据库管理类
- 当得到PCANYWHERE密码之后
- 老师的“诡计”
- vs2005 and sql2005 版本
- VC中实现程序在启动时隐藏
- 关于SQL Server中几个未公布的访问注册表的扩展存储过程