Chinaunix首页 | 论坛 | 博客
  • 博客访问: 14756
  • 博文数量: 11
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 10
  • 用 户 组: 普通用户
  • 注册时间: 2014-12-03 21:48
文章分类
文章存档

2014年(11)

我的朋友

分类: C/C++

2014-12-04 08:17:24

fseek函数是用来设定文件的当前读写位置:

函数原型:int fseek(FILE *fp,long offset,int origin);
函数功能:把fp的文件读写位置指针移到指定的位置.

 

fseek(fp,20,SEEK_SET);

//意思是把fp文件读写位置指针从文件开始后移20个字节.

ftell函数是用来获取文件的当前读写位置;
函数原型: long ftell(FILE *fp)
函数功能:得到流式文件的当前读写位置,其返回值是当前读写位置偏离文件头部的字节数.

 

ban=ftell(fp);

//是获取fp指定的文件的当前读写位置,并将其值传给变量ban.

fseek函数与ftell函数综合应用:
分析:可以用fseek函数把位置指针移到文件尾,再用ftell函数获得这时位置指针距文件头的字节数,这个字节数就是文件的长度.

点击(此处)折叠或打开

  1. #include <stdio.h>
  2. main()
  3. {
  4.    FILE *fp;
  5.    char filename[80];
  6.    long length;
  7.    printf("Input the file name:");
  8.    gets(filename);
  9.    fp=fopen(filename,"rb");
  10.    if(fp==NULL)
  11.        printf("file not found!/n");
  12.    else
  13.    {
  14.        fseek(fp,OL,SEEK_END);
  15.        length=ftell(fp);
  16.        printf("the file length %1d bytes/n",length);
  17.        fclose(fp);
  18.    }
  19. }

阅读(1759) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~