阅读量:1
fseek()函数是C语言中的文件操作函数之一,用于在文件中定位指针的位置。
函数原型:int fseek(FILE *stream, long int offset, int origin);
参数说明:
- stream:指向FILE对象的指针,表示要操作的文件流。
- offset:表示要移动指针的位置,可以是正数、负数或零。正数表示向文件末尾方向移动,负数表示向文件开头方向移动,零表示不移动。
- origin:表示起始位置,可以是以下三个值之一:
- SEEK_SET:从文件开头开始计算偏移量。
- SEEK_CUR:从当前位置开始计算偏移量。
- SEEK_END:从文件末尾开始计算偏移量。
返回值:
- 成功时返回0,失败时返回非零值。
使用fseek()函数可以实现以下操作:
- 移动文件指针到指定位置。
- 在文件中进行随机访问。
- 修改文件中的内容。
- 截断文件长度。
注意事项:
- 文件必须是以二进制方式打开的。
- 文件指针的位置不能超出文件的范围。
示例代码:
#include <stdio.h> int main() { FILE *file = fopen("example.txt", "r"); if (file == NULL) { printf("文件打开失败\n"); return 1; } // 移动文件指针到文件末尾 fseek(file, 0, SEEK_END); // 获取文件长度 long int size = ftell(file); printf("文件长度:%ld\n", size); // 关闭文件 fclose(file); return 0; }