fseek()函数的使用
时间: 2024-04-15 09:22:11 浏览: 74
`fseek()`是一个在C语言中用于文件操作的函数,它用于改变文件指针的位置。这个函数通常与文件流(FILE*)一起使用,它接受两个参数:一个文件流指针和一个偏移量(以字节为单位)。
函数原型如下:
```c
int fseek(FILE *stream, long offset, int whence);
```
参数说明:
* `stream`:这是指向要移动的文件流的指针。
* `offset`:这是相对于`whence`参数指定的位置的偏移量。例如,如果`whence`是`SEEK_SET`,那么偏移量可以是正数(向前移动)或负数(向后移动)。偏移量是以字节为单位的。
* `whence`:这是一个标志,指定了新的位置应该从哪里开始。可能的值包括:
+ `SEEK_SET`:从文件开始。
+ `SEEK_CUR`:从当前位置开始。
+ `SEEK_END`:从文件结束开始。
`fseek()`函数的返回值表示操作是否成功。如果成功,它会返回0。如果出现错误,它会返回一个非零值。
这是一个简单的例子:
```c
#include <stdio.h>
int main() {
FILE *file = fopen("test.txt", "r");
if (file == NULL) {
printf("Failed to open file\n");
return 1;
}
// 使用fseek()将文件指针移动到文件的中间位置
if (fseek(file, 10, SEEK_SET) != 0) {
printf("Failed to move file pointer\n");
return 1;
}
// 现在,我们可以在文件指针的位置读取或写入数据
char c;
while ((c = fgetc(file)) != EOF) {
printf("%c", c);
}
fclose(file); // 不要忘记关闭文件流!
return 0;
}
```
这个例子打开一个名为"test.txt"的文件,并将文件指针移动到文件的中间位置。然后,它读取并打印出剩余的字符,直到到达文件的末尾。请注意,在完成文件操作后,必须关闭文件流,以防止数据丢失或损坏。
阅读全文