首页主机fseek函数,f_lseek函数

fseek函数,f_lseek函数

编程之家2026-05-15928次浏览

大家好,今天来为大家分享fseek函数的一些知识点,和f_lseek函数的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!

fseek函数,f_lseek函数

fseek函数是怎么用的

fseek函数用于重定位流(数据流/文件)上的文件内部位置指针。

函数原型int fseek(FILE*stream, long offset, int fromwhere);

参数:

stream为文件流的指针

offset偏移量

fromwhere起始位置

fseek函数,f_lseek函数

具体功能:如果执行成功,stream将指向以fromwhere(起始位置:文件头0(SEEK_SET),当前位置1(SEEK_CUR),文件尾2(SEEK_END))为基准,偏移offset(指针偏移量)个字节的位置。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置。

返回值:

成功,返回0,失败返回-1,并设置errno的值,可以用perror()函数输出错误。

实例:

#include<stdio.h>

long filesize(FILE*stream);

fseek函数,f_lseek函数

int main(void)

{

FILE*stream;

stream=fopen("MYFILE.TXT","w+");

fprintf(stream,"This is a test");

printf("File size of MYFILE.TXT is%ld bytes\n",filesize(stream));

fclose(stream);

return 0;

}

long filesize(FILE*stream)

{

long curpos,length;

curpos=ftell(stream);

fseek(stream,0L,SEEK_END);

length=ftell(stream);

fseek(stream,curpos,SEEK_SET);

return length;

}

在C语言中fseek()的功能

fseek()是重定位流(数据流/文件)上的文件内部位置指针。

注意:文件指针指向文件/流。位置指针指向文件内部的字节位置,随着文件的读取会移动,文件指针如果不重新赋值将不会改变或指向别的文件。

如果执行成功,stream将指向以fromwhere为基准,偏移offset(指针偏移量)个字节的位置,函数返回0。如果执行失败(比如offset取值大于等于2*1024*1024*1024,即long的正数范围2G),则不改变stream指向的位置,函数返回一个非0值。

扩展资料:

注意事项

fseek函数的文件指针,应该为已经打开的文件。如果没有打开的文件,那么将会出现错误。 fseek函数也可以这样理解,相当于在文件当中定位。

这样在读取规律性存储文件时可以利用其OFFSET偏移量读取文件上任意的内容。

fseek函数一般用于二进制文件,也可以用于文本文件。用于文本文件操作时,需特别注意只有fseek(fp, 0, SEEK_SET)和 fseek(fp, ftell(fp), SEEK_SET)能确保结果符合预期。

参考资料来源:百度百科-fseek

函数fseek()的正确调用形式是( )。

【答案】:B

指针函数fseek()的调用形式为:fseek(fp,offset,position);fseek函数参数说明:“fp”是指向该文件的文件型指针;“offset”为位移量,是指从起始点position到要确定的新位置的字节数。以起点为基准,向前移动字节数。“position”为起始点,指出以文件的什么位置为基准进行移动,position的值用整型常数表示,“0”表示文件的开头,“1”表示文件的当前位置,“2”表示文件的末尾。

好了,文章到此结束,希望可以帮助到大家。

编程入门自学教程?编程零基础该怎么学css3是什么?代码是什么意思