如下面的代码,一开始被映射的文件只有几个字节,
但代码走到循环的时候其它进程往文件里加入5k内容,但此时用MapViewOfFile取得的内容却只有4k的内容。
有什么办法可以使映射的内存随文件的增大而增大?
m_hFile = ::CreateFile(strFilePath.c_str(),GENERIC_READ|GENERIC_WRITE,
FILE_SHARE_READ|FILE_SHARE_WRITE,0,OPEN_ALWAYS,
FILE_ATTRIBUTE_NORMAL,0);
m_hFileMapping = CreateFileMapping(m_hFile,0,PAGE_READWRITE,0,0,0);
CloseHandle(m_hFile);
while(1)
{
char *pbuf = (char*)MapViewOfFile(m_hFileMapping,FILE_MAP_READ,0,0,0);
}
但代码走到循环的时候其它进程往文件里加入5k内容,但此时用MapViewOfFile取得的内容却只有4k的内容。
有什么办法可以使映射的内存随文件的增大而增大?
m_hFile = ::CreateFile(strFilePath.c_str(),GENERIC_READ|GENERIC_WRITE,
FILE_SHARE_READ|FILE_SHARE_WRITE,0,OPEN_ALWAYS,
FILE_ATTRIBUTE_NORMAL,0);
m_hFileMapping = CreateFileMapping(m_hFile,0,PAGE_READWRITE,0,0,0);
CloseHandle(m_hFile);
while(1)
{
char *pbuf = (char*)MapViewOfFile(m_hFileMapping,FILE_MAP_READ,0,0,0);
}
解决方案 »
- 【求助】 不同对话框的控件ID可以相同吗?
- directX绘图为何无法显示?
- 有没有大哥知道宇龙酷派和北京威盛的
- windows media encoder 转换输出格式可以是avi和asf吗
- MFC 的 BUG?让我郁闷了很久……
- 请问如何在自己写的button类里面判断鼠标是否离开了该button对象?谢谢
- 关于获得combo box的值的问题
- 好奇怪的一个类封装问题。
- lib库和动态库在链接的时候,是把整个lib库链接过去,还是使用到的函数和资源?
- r我在access数据库里面不小心把“自动编号”的字段变为了double型,改不回来了,然后我另外添加一空列,想把它变为“自动编号”,却变不了,请问怎么办?(我很急,请救我!)
- 实现大规模场景管理 使用八叉树?
- 不同程序之间如何通信?
如果一直打开着文件,这样其它进程就不能往文件里写东西!