#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字节处。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)