int fseek(FILE *stream, long offset, int whence);
offset 偏移量 整数表示正向偏移,负数表示负向偏移
whence 位置 SEEK_SET, 文件开始
SEEK_END, END 是指针结尾后移一位
SEEK_CUR,现在位置
long ftell(FILE *stream);
文件开始到文件指针的偏移量,用来计算文件大小
void rewind(FILE *stream);
回到SEEK_SET (开始位置)
1.txt 内容为
使用ll 命令查看到大小为9,应该是有一个\0
文件内容为12345678\0
使用fseek 反向从最后end偏移三位 ,文件指针从EOF(End Of file) 到指向7,在文件中调用了两次fgetc();
fgetc 先取值,然后文件指针后移,
第一次移动到8,第二次取8赋值给c,移动到\0 所以c 为 8,
ftell 在第一次fgetc之后,当时文件指针指向 8,计算从1 到 8 的偏移量 为 7,
12345678
01234567