c语言fseek函数用法
fseek函数用于定位文件指针的位置。
函数原型:int fseek(FILE *stream, long int offset, int whence);
参数说明:
- stream:指向要定位的文件流的指针
- offset:偏移量,可以是正数、负数或零。正数表示向文件末尾方向移动,负数表示向文件开头方向移动,零表示位置不变。
- whence:起始位置。可以使用以下常量:
- SEEK_SET:文件开头
- SEEK_CUR:当前位置
- SEEK_END:文件结尾
返回值:若定位成功,则返回0;若出错,则返回非零值。
示例用法:
1. 将文件指针定位到文件开头:
fseek(filePtr, 0L, SEEK_SET);
2. 将文件指针定位到文件末尾:
fseek(filePtr, 0L, SEEK_END);
3. 将文件指针向前移动5个字节:
fseek(filePtr, -5L, SEEK_CUR);
4. 将文件指针向后移动10个字节:
fseek(filePtr, 10L, SEEK_CUR);
注意:使用fseek函数时,需要在对文件进行读写操作之前进行定位操作。
fseek函数是标准输入输出库中的函数之一,它的作用是在文件中移动指针的位置。该函数的参数有三个,第一个是文件指针,第二个是偏移量,第三个是偏移基准。其中,偏移量是一个long型整数,表示要移动的字节数;偏移基准可以是SEEK_SET(文件开头)、SEEK_CUR(当前位置)、SEEK_END(文件结尾)。使用fseek函数可以实现文件的随机读写,但需要注意的是,必须先打开文件才能进行操作。
使用fseek()函数的示例:
```c
#include <stdio.h>
int main() {
FILE *file = fopen("example.txt", "r");
if (file == NULL) {
printf("Error opening file.\n");
return 1;
}
// 将文件指针移动到文件开头
fseek(file, 0, SEEK_SET);
// 从文件指针位置读取一个字符
char ch = fgetc(file);
putchar(ch);
// 将文件指针移动到文件末尾
fseek(file, 0, SEEK_END);
// 关闭文件
fclose(file);
return 0;
}
```
在这个示例中,我们首先打开一个名为example.txt的文件。然后使用fseek()函数将文件指针移动到文件开头和文件末尾。在读取文件内容时,注意使用fgetc()函数从文件指针位置读取一个字符。

