用fseek查找文件
时间: 2023-08-08 19:11:16 浏览: 88
fileseek查找
使用 `fseek` 函数可以在文件中定位到特定位置。`fseek` 函数的原型如下:
```c
int fseek(FILE *stream, long int offset, int origin);
```
其中,`stream` 是指向文件的指针,`offset` 是要移动的字节数,`origin` 是起始位置。
常用的 `origin` 值有三个:
- `SEEK_SET`:从文件开头开始计算偏移量。
- `SEEK_CUR`:从当前位置开始计算偏移量。
- `SEEK_END`:从文件结尾开始计算偏移量。
以下是一个使用 `fseek` 函数定位文件位置的示例:
```c
#include <stdio.h>
int main() {
FILE *file = fopen("example.txt", "r");
if (file == NULL) {
printf("无法打开文件!\n");
return 1;
}
// 将文件指针定位到第10个字节处
int result = fseek(file, 9, SEEK_SET);
if (result != 0) {
printf("fseek 失败!\n");
return 1;
}
// 读取定位后的数据
char buffer[100];
fgets(buffer, sizeof(buffer), file);
printf("定位后的数据:%s\n", buffer);
fclose(file);
return 0;
}
```
在上述示例中,我们首先打开一个名为 "example.txt" 的文件。然后,使用 `fseek` 将文件指针定位到第10个字节处(使用 `SEEK_SET` 表示从文件开头开始计算偏移量)。最后,读取定位后的数据并打印出来。
请注意,`fseek` 函数的返回值为零表示成功,非零值表示失败。
阅读全文