---
title: "fseek | open.mp"
description: "修改文件指针位置。"
canonical: https://omp.itsneufox.com/zh-CN/docs/scripting/functions/fseek
language: zh-CN
---

# fseek

## 描述

修改文件指针位置。可在文件中进行正向或反向定位。

| 参数 | 说明 |
| --- | --- |
| File:handle | 要操作的文件句柄（由 fopen 返回）。 |
| position | 相对于基准位置的偏移量（详见 whence 参数）。 |
| [seek\_whence:whence](https://omp.itsneufox.com/zh-CN/docs/scripting/resources/file-seek-whence) | 定位基准点（指定偏移量计算的起始位置）。 |

## 返回值

返回相对于文件起始位置的新偏移量（整数值）。

## 示例

```c
// 以"只读"模式打开"file.txt"
new File:handle = fopen("file.txt", io_read);

// 检查文件是否成功打开
if (handle)
{
    // 操作成功

    // 跳转到文件起始位置并输出
    printf("文件起始位置: %d", fseek(handle, 0, seek_start));

    // 跳转到文件末尾位置并输出
    printf("文件末尾位置: %d", fseek(handle, 0, seek_end));

    // 保持当前位置并输出
    printf("当前文件位置: %d", fseek(handle, 0, seek_current));

    // 关闭文件
    fclose(handle);
}
else
{
    // 操作失败
    print("无法打开\"file.txt\"。");
}
```

## 注意事项

注意

使用无效句柄会导致服务器崩溃！请通过 [fopen](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/fopen) 或 [ftemp](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/ftemp) 获取有效文件句柄。

## 相关函数

-   [fopen](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/fopen): 打开文件
-   [fclose](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/fclose): 关闭文件
-   [ftemp](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/ftemp): 创建临时文件流
-   [fremove](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/fremove): 删除文件
-   [fwrite](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/fwrite): 写入文件
-   [fread](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/fread): 读取文件
-   [fputchar](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/fputchar): 写入单个字符
-   [fgetchar](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/fgetchar): 读取单个字符
-   [fblockwrite](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/fblockwrite): 写入数据块
-   [fblockread](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/fblockread): 读取数据块
-   [flength](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/flength): 获取文件长度
-   [fexist](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/fexist): 检查文件是否存在
-   [fmatch](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/fmatch): 匹配文件名模式
-   [ftell](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/ftell): 获取当前指针位置
-   [fflush](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/fflush): 刷新文件缓冲区
-   [fstat](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/fstat): 获取文件状态信息
-   [frename](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/frename): 重命名文件
-   [fcopy](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/fcopy): 复制文件
-   [filecrc](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/filecrc): 计算 CRC32 校验值
-   [fattrib](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/fattrib): 设置文件属性
-   [fcreatedir](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/fcreatedir): 创建目录

## 相关资源

-   [文件定位基准](https://omp.itsneufox.com/zh-CN/docs/scripting/resources/file-seek-whence)
