求助一道C语言问题?

对函数调用语句fseek(fp,10,2)的含义?

int fseek(FILE *stream, long offset, int fromwhere);

其中fromwhere起始点

起始点名 代表数字 含义

SEEK_SET       0                  文件开头    

SEEK_CUR      1                  文件当前位置    

SEEK_END      2                  文件末尾    

offset 偏移量,表示把与fp有关的文件位置指针放在与起始点相距多少的位置上

当offset为正时,表示从“起始点”开始往文件尾方向移动

为负时,表示从“起始点”开始往文件头方向移动

所以,fseek(fp,10,2)意思‍是将与fp相关的指针移到文件末尾再向后10比特位处,但是,此时偏移量已经超出文件尾,文件指针是指向文件尾的。最终的结果就是与fp相关的指针移到文件末尾‍

追问

也就是超过了会从头开始移动吗

追答

不是,是超过了就不会移动了,停留在文件尾

温馨提示:答案为网友推荐,仅供参考
相似回答