📄 subject_38227.htm
字号:
<p>
序号:38227 发表者:hiha 发表日期:2003-05-01 18:44:33
<br>主题:有关内存映射文件的问题
<br>内容: 我刚了解了一点关于内存映射文件的知识,但是有很多疑问.我现在有一个数据文件,有几十兆,想采用这种技术.我需要的数据在文件的第62个byte之后,数据为16位二进制数,不知道该怎么使用这个偏移量并把其中的数据分别读出呢?以前没用过,真的不明白,请高手指点.
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:严丰 回复日期:2003-05-01 18:49:56
<br>内容:使用强制类型转换:<BR>假设p是指向filemap的指针。<BR>p = (BYTE) p +62;<BR>date = *(WORD)p;<BR>这样就可以了。<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:xiongli 回复日期:2003-05-01 18:50:32
<br>内容:HANDLE hFile = CreateFile(sourcepath, GENERIC_READ | GENERIC_WRITE, 0, NULL,<BR> OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);<BR><BR>HANDLE hFileMapping = CreateFileMapping(hFile, NULL, PAGE_READWRITE,<BR> 0, 0, NULL);<BR>unsigned short * psFile = (unsigned short * ) MapViewOfFile(hFileMapping, FILE_MAP_ALL_ACCESS,<BR> 0, 0, 0);<BR>psFile+=62/2;<BR>//now,u can read from pbFile now..<BR>//.....<BR><BR><BR>//.....<BR>CloseHandle(hFileMapping);<BR>CloseHandle(hFile);<BR><BR><BR>2003-5-1 18:51:20
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -