写一个fseek函数c语言示例
时间: 2023-03-25 19:04:35 浏览: 74
好的,这是一个 fseek 函数的 C 语言示例:
```c
#include <stdio.h>
int main() {
FILE *fp;
char ch;
fp = fopen("example.txt", "r");
fseek(fp, 5, SEEK_SET);
ch = fgetc(fp);
printf("The 6th character in the file is: %c\n", ch);
fseek(fp, -3, SEEK_END);
ch = fgetc(fp);
printf("The 3rd character from the end of the file is: %c\n", ch);
fclose(fp);
return ;
}
```
这个示例程序打开了一个名为 "example.txt" 的文件,并使用 fseek 函数来定位文件中的字符位置。第一个 fseek 调用将文件指针移动到第 6 个字符处,并使用 fgetc 函数读取该字符。第二个 fseek 调用将文件指针移动到文件末尾的倒数第 3 个字符处,并使用 fgetc 函数读取该字符。最后,程序关闭了文件并返回 。
相关问题
c语言 写一个fseek读取文件的例子
下面是一个使用 fseek 函数读取文件的示例代码:
```c
#include <stdio.h>
int main() {
FILE *fp;
char buff[255];
fp = fopen("file.txt", "r");
fseek(fp, 5, SEEK_SET);
fscanf(fp, "%s", buff);
printf("1: %s\n", buff );
fseek(fp, -7, SEEK_END);
fscanf(fp, "%s", buff);
printf("2: %s\n", buff );
fclose(fp);
return 0;
}
```
在这个示例中,我们使用了 fseek 函数来移动文件指针的位置。在第一次调用 fseek 函数时,我们将文件指针从文件开头向后移动了 5 个字节。然后,我们使用 fscanf 函数读取了文件中的字符串,并将其存储在 buff 数组中。最后,我们打印了字符串。
在第二次调用 fseek 函数时,我们将文件指针从文件末尾向前移动了 7 个字节。然后,我们再次使用 fscanf 函数读取了文件中的字符串,并将其存储在 buff 数组中。最后,我们再次打印了字符串。
请注意,fseek 函数的第二个参数表示移动的字节数,而第三个参数表示移动的起始位置。在上面的示例中,我们使用了 SEEK_SET 和 SEEK_END 作为起始位置。
C语言fseek函数
fseek函数是C语言标准库中的一个函数,它用于重新设置文件内部指针的位置。该函数原型如下:
```c
int fseek(FILE *stream, long offset, int fromwhere);
```
其中,stream是指向文件的指针;offset是要设置的偏移量;fromwhere指定了偏移量是相对于哪个位置进行计算的,可以取以下三个值:
- SEEK_SET:从文件开头开始计算偏移量
- SEEK_CUR:从当前位置开始计算偏移量
- SEEK_END:从文件末尾开始计算偏移量
fseek函数的返回值为0表示成功,非零值表示失败。
示例代码中展示了fseek函数的使用。首先向文件中写入了10个字节的数据,然后使用fseek函数实现了不同位置的读取:
1. 正常读取文件前2个字节:先打开文件,然后使用fread函数读取前2个字节,并打印出来。
2. 跳过4字节后再读取2个字节:再次打开文件,使用fseek函数跳过4字节,然后使用fread函数读取2个字节,并打印出来。