fseek函数的用法是什么?

fseek函数的用法是什么?,第1张

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

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

参数:

stream为文件流的指针

offset 偏移量

fromwhere 起始位置

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

扩展资料:

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

第一个参数file指针

第二个参数移动的偏移量

第三个参数移动到哪里

分别用3个宏

SEEK_SET 既0 文件开头

SEEK_CUR 既1 文件当前位置

SEEK_END 既2 文件结尾

但不推荐用数字 最好用宏

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

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

函数原型int

fseek(FILE

*stream,

long

offset,

int

fromwhere)

参数:

stream为文件流的指针

offset

偏移量

fromwhere

起始位置

具体功能:如果执行成功,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)

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

}

fseek(fp1,m,1)把文件内部指针移动到离文件开头m字节处

第二个参数m偏移量,第三个参数1表示当前位置

它表示偏移量,如果m超过1行的长度,只会回到行首,你要将文件指针fp1上移两行不能用这个函数

fseek,是用于二进制方式打开的文件,移动文件读写指针位置,通常文件打开后,读写位置按先后顺序。fseek函数是设置文件指针stream的位置。如果执行成功,stream将指向以fromwhere为基准,偏移offset(指针偏移量)个字节的位置。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置。fseek函数和lseek函数类似,但lseek返回的是一个off_t数值,而fseek返回的是一个整型。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7334686.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存