C语言fseek()函数的用法是什么
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;
}