移动文件指针细节

来源:互联网 发布:2017淘宝捉猫猫技巧 编辑:程序博客网 时间:2024/06/05 01:57
 

移动文件指针时用
invoke  SetFilePointer,hFile,lDistanceToMove,lpDistanceToMoveHigh,dwMoveMethod
最后一个参数解释
●   FILE_BEGIN——不管文件指针当前位于什么地方,总是从文件头部开始移动,这时的位置参数相当于指定了一个绝对位置。

●   FILE_CURRENT——从当前的文件指针处开始移动。

●   FILE_END——从文件尾开始移动,如果要从文件尾往回移动一段位置,那么位置参数指定的就应该是负值。
如果把文件指针移动到某个地方,再用SetEndOfFile,hFile截断文件,则文件大小为当前文件指针位置
比如把文件指针移动到距文件开头2处,截断后,则有效文件指针为0,1,所以文件大小为2.
************************************************
映射文件后(文件所有内容完全映射),返回一个地址,这个地址有效长度为映射文件大小。如果超出这个位置操作指针将不可预料。即映射后的文件无法改变大小。
此时用SetFilePointer和SetEndOfFile无效


原创粉丝点击