C语言文件操作:使用fseek函数定位文件指针
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。
原文地址: https://www.cveoy.top/t/topic/fOl 著作权归作者所有。请勿转载和采集!