int fseek(FILE *stream, long int offset, int whence);其中:stream:指向要操作的文件流的指针。offset:从 whence 指定的位置开始,相对于文件的偏移量。whence:指定 offset">

c语言中fseek函数怎么用

来源:这里教程网 时间:2026-02-21 16:47:35 作者:

fseek 函数在 C 语言中的用法

fseek 函数用于在文件流中设置文件读写指针的位置。其语法为:

<code class="c">int fseek(FILE *stream, long int offset, int whence);</code>

其中:

stream
:指向要操作的文件流的指针。
offset
:从
whence
指定的位置开始,相对于文件的偏移量。

whence
:指定
offset
相对于的位置,有以下几种选择:

立即学习“C语言免费学习笔记(深入)”;

SEEK_SET
:从文件开头开始。
SEEK_CUR
:从当前文件位置开始。
SEEK_END
:从文件末尾开始。

使用方法:

    定位到文件开头:

    <code class="c">fseek(stream, 0, SEEK_SET);</code>

    定位到文件的特定位置:

    <code class="c">fseek(stream, 100, SEEK_SET); // 定位到文件中的第 101 个字节</code>

    从当前位置向前移动:

    <code class="c">fseek(stream, 50, SEEK_CUR); // 从当前位置向前移动 50 个字节</code>

    从文件末尾向后移动:

    <code class="c">fseek(stream, -10, SEEK_END); // 从文件末尾向后移动 10 个字节</code>

返回值:

如果操作成功,fseek 函数返回 0。如果操作失败,则返回 -1,并设置

errno
变量以指示错误。

示例:

以下示例演示了如何在文件中定位到特定位置并读取数据:

<code class="c">#include <stdio.h>
int main() {
  FILE *fp;
  char buffer[100];
  // 打开文件
  fp = fopen("test.txt", "r");
  // 定位到文件中的第 101 个字节
  fseek(fp, 100, SEEK_SET);
  // 从该位置读取数据
  fread(buffer, 1, 50, fp);
  // 关闭文件
  fclose(fp);
  return 0;
}</code>

相关推荐