fseek(reader, 0, SEEK_SET);
时间: 2024-06-13 13:07:02 浏览: 114
这段代码是用来将文件指针`reader`移动到文件开头的位置,即偏移量为0的位置。其中`fseek`函数的第一个参数是文件指针,第二个参数是偏移量,第三个参数是基准位置。`SEEK_SET`表示基准位置是文件开头,`SEEK_CUR`表示基准位置是当前位置,`SEEK_END`表示基准位置是文件结尾。因此,`fseek(reader, 0, SEEK_SET)`的作用是将文件指针`reader`移动到文件开头。
相关问题
fseek SEEK_SET
下面是使用fseek函数设置文件指针stream的位置,使其指向文件开头的例子:
```c
#include <stdio.h>
int main() {
FILE *fp;
char c;
fp = fopen("test.txt", "r");
if (fp == NULL) {
printf("Failed to open file\n"); return 1;
}
// 设置文件指针stream的位置,使其指向文件开头
fseek(fp, 0, SEEK_SET);
// 读取文件中的字符并输出
while ((c = fgetc(fp)) != EOF) {
printf("%c", c);
}
fclose(fp);
return 0;
}
```
解释fseek(ifp,0,SEEK_SET); fwrite(&flength,sizeof(int),1,ofp); fseek(ofp,8,SEEK_SET);中最后一句fseek为什么指针要移到第8位
第一句 `fseek(ifp,0,SEEK_SET);` 是将文件指针 ifp 移动到文件开头,这是为了读取文件内容的长度。第二句 `fwrite(&flength,sizeof(int),1,ofp);` 是将文件内容的长度写入到输出文件 ofp 中,它的目的是为了在读取该文件时知道文件的长度。
而最后一句 `fseek(ofp,8,SEEK_SET);` 则是为了留出文件头的空间,因为在输出文件中文件头占据了前 8 个字节的空间。因此,我们需要将输出文件指针 ofp 移动到第 8 个字节的位置,以便在后续写入文件内容时,不会覆盖文件头的内容。
阅读全文
相关推荐
















