Functions.FSeek 方法 | |
将文件指针设置到新位置。
命名空间:
XSharp.RT
程序集:
XSharp.RT (在 XSharp.RT.dll 中) 版本:2.22 GA
语法 FUNCTION FSeek(
ptrHandle,
nOffset,
kOrigin
) AS LONG CLIPPER
[ClipperCallingConventionAttribute(new string[] { ... })]
public static int FSeek(
__Usual ptrHandle = default,
__Usual nOffset = default,
__Usual kOrigin = default
)
查看代码参数
- ptrHandle (Optional)
- 类型:__Usual
打开文件的句柄。 - nOffset (Optional)
- 类型:__Usual
从 nOrigin 指定的位置移动文件指针的字节数。
可以是正数或负数。
正数将指针向前移动,负数则向后移动。
如果 nOrigin 为文件末尾,则 nOffset 必须为 0 或负数。
- kOrigin (Optional)
- 类型:__Usual
指示文件指针起始位置的常量之一,告诉文件开始搜索的位置:
常量 | 从哪里开始寻址 |
---|
FS_END | 文件末尾 |
FS_RELATIVE | 当前位置 |
FS_SET | 文件开头 |
返回值
类型:
Int32
文件指针的新位置,相对于文件开头(位置 0)。(文件指针的原始位置不重要。)
备注
FSeek() 是一个低级文件函数,用于在打开的文件中向前或向后移动文件指针,而不实际读取指定文件的内容。
文件指针不能移动超过文件的开头或末尾边界。
备注 提示: |
---|
这个函数是为了兼容性而包含的。我们不建议使用静态内存进行文件 I/O 操作。
我们建议您使用接受字节数组参数的函数重载。
|
示例
这个示例使用 FSeek() 从文件末尾确定文件的长度。
然后,将文件指针重置到文件开头:
1
2IF (ptrHandle := FOpen2("temp.txt", FO_READ)) != F_ERROR
3
4 nLength := FSeek(ptrHandle, 0, FS_END)
5
6 FSeek(ptrHandle, 0)
7 FClose(ptrHandle)
8ELSE
9 ? DOSErrString(FError())
10ENDIF
这个示例将文件指针定位到文件中的最后一个字节:
1FUNCTION FileBottom(ptrHandle) AS LONGINT
2 RETURN (FSeek(ptrHandle, 0, FS_END))
这个示例将文件指针定位到文件中的第一个字节(与 Rewind() 函数相同):
1FUNCTION FileTop(ptrHandle) AS LONGINT
2 RETURN (FSeek(ptrHandle, 0))
参见