fseek函数用于将文件指针移动到指定位置。它的原型如下:
```c
int fseek(FILE *stream, long offset, int whence);
```
其中,stream是文件指针,offset是偏移量,whence是起始位置。
偏移量offset可以是正数、负数或零。
如果是正数,文件指针向文件末尾方向移动;
如果是负数,文件指针向文件开头方向移动;
如果是零,文件指针不移动。
起始位置whence可以是以下三个值之一:
- SEEK_SET:从文件开头开始计算偏移量。
- SEEK_CUR:从当前位置开始计算偏移量。
- SEEK_END:从文件末尾开始计算偏移量。
下面是一个示例代码,展示了如何使用fseek函数将文件指针移动到文件末尾:
```c
#include <stdio.h>
int main() {
FILE *fp = fopen("test.txt", "r");
if (fp == NULL) {
printf("Failed to open file.\n");
return 1;
}
// 将文件指针移动到文件末尾
fseek(fp, 0, SEEK_END);
// 获取文件大小
long size = ftell(fp);
printf("File size: %ld bytes\n", size);
fclose(fp);
return 0;
}
```
在这个示例中,我们首先打开了一个名为test.txt的文件,并将文件指针fp指向该文件。然后,我们使用fseek函数将文件指针移动到文件末尾。接着,我们使用ftell函数获取文件大小,并将其打印出来。