C语言文件操作:使用fseek函数定位文件指针

在C语言中,我们可以使用文件指针来对文件进行读写操作。文件指针指向文件中的特定位置,我们可以通过移动文件指针来访问文件的不同部分。

fseek 函数是C语言标准库中用于移动文件指针的函数。它接受三个参数:

  • FILE *stream:指向要操作的文件的指针。
  • long int offset:要移动的字节数。
  • int whence:指定偏移量的起点。

whence 参数可以取以下三个值:

  • SEEK_SET:将文件指针定位到文件开头 + offset 字节的位置。
  • SEEK_CUR:将文件指针定位到当前位置 + offset 字节的位置。
  • SEEK_END:将文件指针定位到文件末尾 + offset 字节的位置。

示例:从文件的第五个字节开始读取数据

以下代码演示如何使用 fseek 函数将文件指针定位到文件的第五个字节,并从该位置开始读取数据:

#include <stdio.h>

int main() {
  FILE *filePtr;
  char buffer[100];

  // 打开文件
  filePtr = fopen("ww.bin", "rb");
  if (filePtr == NULL) {
    perror("打开文件失败");
    return 1;
  }

  // 将文件指针移动到第五个字节
  if (fseek(filePtr, 5, SEEK_SET) != 0) {
    perror("移动文件指针失败");
    fclose(filePtr);
    return 1;
  }

  // 从当前位置读取数据
  size_t bytesRead = fread(buffer, 1, sizeof(buffer), filePtr);

  // 输出读取到的数据
  printf("读取到的数据:%s\n", buffer);

  // 关闭文件
  fclose(filePtr);

  return 0;
}

调用 fseek(filePtr, 5, SEEK_SET); 会将文件指针移动到文件的第 5 个字节位置。这意味着之后对文件的读写操作将从第 5 个字节开始。

注意: 文件中的第一个字节的偏移量为 0,而不是 1。

C语言文件操作:使用fseek函数定位文件指针

原文地址: https://www.cveoy.top/t/topic/fOl 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录