如何通过ftell和fseek来获取文件大小
2013-11-27 10:05
459 查看
#include <stdio.h> int main () { FILE * pFile=NULL; long size; pFile = fopen ("myfile.txt","rb"); if (pFile==NULL) perror ("Error opening file"); else { fseek (pFile, 0, SEEK_END); size=ftell (pFile); fclose (pFile); pFile=NULL; printf ("Size of myfile.txt is: %ld bytes.\n",size); } return 0; }
首先利用fseek(pfile,0,SEEK_END)将文件的当前位置移到文件的末尾,然后调用函数ftell()获得当前位置相对于文件首的位移,该位移值就等于文件所含字节数。这样就得到文件大小了!
fseek(重定位流上的文件指针)
int fseek(FILE *stream, long offset, int fromwhere);
函数说明:第一个参数stream为文件指针, 第二个参数offset为偏移量,整数表示正向偏移,负数表示负向偏移 第三个参数fromwhere设定从文件的哪里开始偏移,可能取值为:SEEK_CUR(当前位置)、 SEEK_END(文件结尾)或 SEEK_SET(文件开头), 其中SEEK_SET,SEEK_CUR和SEEK_END的值依次为0,1和2。
例如:
fseek(fp,100L,0);把fp指针移动到离文件开头100字节处;
返回值: 成功,返回0,否则返回其他值。
ftell(返回当前文件位置)
long ftell(FILE *stream)
函数说明:用于得到文件位置指针当前位置相对于文件首的偏移字节数。
相关文章推荐
- 通过文件指针来获取文件的大小(fseek与ftell函数 )
- 通过input 的file 控件,上传图片,如何获取文件的大小问题
- 用fseek和ftell获取文件的大小
- 如何用C语言获取文件的大小
- 如何通过js取上传文件大小
- ftell 获取文件位置,fseek 把文件指针移动到指定位置
- 问:如何获取一个文件的大小?
- 如何将经纬度数据通过ArcGIS转换为KML文件展绘到Google Earth 并且获取大致面积
- 通过文件夹文件获取文件夹大小
- Android如何通过URI获取文件路径示例代码
- C++读书笔记之 文件与流 文件读写操作 通过指针获取文件大小
- java开发中如何获取远程文件的大小
- 如何用C语言获取文件的大小
- 获取文件夹大小的java类,通过类名调用方法,可直接获取文件大小
- 关于通过uri获取文件的大小
- java开发中如何获取远程文件的大小
- java 通过url获取文件大小
- 如何获取一个文件的大小
- C++中如何获取文件大小的总结
- 通过_stat结构体获取文件大小