C语言 文件定位

C语言 文件定位,第1张

C语言文件定位,主要依靠fseek函数实现,具体代码如下,

#include <stdio.h>

int main(int argc, char *argv[])

{

FILE *fp=NULL

long len=0L//文件长度

fp=fopen("test.dat","rb")//假设当前目录有test.dat文件

if(!fp)//检查文件打开是否正常

{

printf("文件打开失败颂答,程序退出!\n")

exit(1)

}

fseek(fp,0L,SEEK_END)//文件定位到文件末尾

len=ftell(fp)//获取文件长度

if(len/1024>0)

printf("文件大小为%ldKB!\n",len/1024)

else

printf("文件大小为%ldB!\n",len)

rewind(fp)//文件指针移到搏茄开始处

if(fp)//关闭文件

{

fclose(fp)

fp=NULL

}

return 0

}

int fseek( FILE *stream, long offset, int origin )函数fseek()为文件指针stream设置位置数据。origin的值应该是下列值之一,

SEEK_SET(从文件的开始处开始搜索)

SEEK_CUR(基樱察从当前位置开始搜索)

SEEK_END(从文件的结束处开始搜索)

fseek()成功时返回0,失败时返回非零。

c语言的文件定位是fseek函数fseek(文件指针,位偏移,起始点);起始点c提供了文件开始

文件当埋祥前位置

文件末尾三个值分别对应0

1

2,位偏移是只偏移多少弯庆搏个字节而不是几行c语言貌似差散不支持以行的形式移动指针

例:fseek(fp,100L,0)将位置指针移到离文件头100个字节处

如果第二个参数是负数的就是后退多少字节

1、使用fseek函数即可更改灶樱文件指针的位置友辩灶。

函数名:

fseek

功好扮

能:

重定位流上的文件指针

法:

int

fseek(FILE

*stream,

long

offset,

int

fromwhere)

述:

函数设置文件指针stream的位置。如果执行成功,stream将指向以fromwhere为基准,偏移offset个字节的位置。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置。

返回值:

成功,返回0,否则返回其他值。

2、例子:

fseek(fp,100L,0)//把文件内部指针移动到离文件开头100字节处;

fseek(fp,100L,1)//把文件内部指针移动到离文件当前位置100字节处;

fseek(fp,-100L,2)//把文件内部指针退回到离文件结尾100字节处。


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

原文地址: http://outofmemory.cn/tougao/12241806.html

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

发表评论

登录后才能评论

评论列表(0条)

保存