fseek in c
时间: 2023-11-30 22:40:08 浏览: 66
fseek()是C/C++中的一个文件操作函数,用于移动文件指针到指定位置。它可以用于随机访问文件,即在文件中任意位置读写数据。fseek()函数的原型如下:
```c
int fseek(FILE *stream, long int offset, int whence);
```
其中,stream是指向文件的指针,offset是要移动的字节数,whence指定了起始位置,可以是SEEK_SET(文件开头)、SEEK_CUR(当前位置)或SEEK_END(文件结尾)。
fseek()函数的返回值为0表示成功,非0表示失败。如果失败,可以使用perror()函数输出错误信息。
使用fseek()函数可以实现文件的随机读写,但需要注意文件打开模式必须是“rb”(二进制读)或“wb”(二进制写)。
相关问题
写一个fseek函数c语言示例
好的,这是一个 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 函数读取该字符。最后,程序关闭了文件并返回 。
举例教我使用fseek函数
`fseek` 函数可以用来设置文件指针的位置。下面是一个简单的例子:
```c
#include <stdio.h>
int main() {
FILE *fp;
char ch;
fp = fopen("example.txt", "r");
if(fp == NULL) {
printf("Failed to open file.\n");
return -1;
}
// 设置文件指针位置为第5个字符
fseek(fp, 4, SEEK_SET);
// 读取文件指针当前位置的字符
ch = fgetc(fp);
printf("The 5th character in example.txt is: %c\n", ch);
fclose(fp);
return 0;
}
```
在这个例子中,我们打开了一个名为 `example.txt` 的文件,并将文件指针位置设置为第5个字符。然后,我们读取了文件指针当前位置的字符,并输出它的值。最后,我们关闭了文件。
注意,第二个参数 `4` 是偏移量,表示相对于起始位置向前移动4个字符。第三个参数 `SEEK_SET` 表示相对于文件开头进行偏移。可以使用以下常量来指定偏移量的类型:
- `SEEK_SET`:相对于文件开头进行偏移。
- `SEEK_CUR`:相对于当前位置进行偏移。
- `SEEK_END`:相对于文件结尾进行偏移。