1.SetFilePointerEx()函数
- 文件指针
我们大概已经知道该如何创建或者打开一个文件,用CreateFile函数可以轻松做到,还不了解的小伙伴,请穿越到http://www.cnblogs.com/bigsponge/articles/4936599.html
CreateFile函数会使系统创建一个文件内核对象来管理对文件的操作。在这个内核对象内部有一个文件指针,这是我们今天的主角。
文件指针究竟是什么?
文件指针是一个64位的偏移量,指向文件起始位置的相对的位置,假设文件起始位置的地址为xxxx,文件指针为10,那么指针实际指向的地址是xxxx+10。
文件指针的作用是什么?
当我们要调用ReadFile或WriteFile函数对文件进行读和写操作的时候,读取和写入的起始位置永远在文件指针指向的位置。
用SetFilePointerEx()设置文件指针的位置:
函数原型:
BOOL SetFilePointerEx(
HANDLE hFile,
LARGE_INTEGER liDistanceToMove,
PLARGE_INTEGER pliNewFilePointer,
DWORD dwMoveMethod);
hFile 我们想要修改哪个文件内核对象的文件指针
liDistanceToMove 标识文件指针要移动多少个字节
pliNewFilePointer 系统会在pliNewFilePointer参数指向的LARGE_INTEGER结构体中保存文件指针的新值
dwMoveMethod 标识移动文件指针的方式,有三个值可以选择:FILE_BEGIN 标识文件指针的起始位置为文件首
可以传给SetFilePointerEx的dwMoveMethod参数的值
值 | 含义 |
---|---|