Linux下求取文件长度的几种常用方法
2012-05-27 14:22
344 查看
在文件IO的编程过程中,经常会遇到如何求取文件长度的问题,这里将工作及教学中积累的一些常用方法写出来与大家分享。
第一类:lseek/fseek
1、lseek
代码片段:
2、fseek+ftell:特别注意文件指针的位置
代码片段
第二类:stat、fstat函数族
函数原型:
int stat(char *filename,struct stat *s);
int fstat(int fd,struct stat *s);
代码片段:以stat为例,fstat只是第一个参数用文件描述符。
第一类:lseek/fseek
1、lseek
代码片段:
int GetFileSize(char *_pName) { int iFd = -1; int iLen = 0; if (_pName == NULL) { return -1; } iFd = open(_pName, O_RDONLY); if (iFd >= 0) { iLen = lseek(iFd, 0, SEEK_END); close(iFd); return iLen; } return iFd; }
2、fseek+ftell:特别注意文件指针的位置
代码片段
long GetFileSize(char *_pName ) { long length; FILE *fp; fp = fopen("_pName ",rw); if(fp==NULL) return -1; fseek(fp, 0L, SEEK_END); length = ftell(fp); return length; }
第二类:stat、fstat函数族
函数原型:
int stat(char *filename,struct stat *s);
int fstat(int fd,struct stat *s);
代码片段:以stat为例,fstat只是第一个参数用文件描述符。
#include <unstd.h> #include <sys/stat.h> int GetFileLen( char *_pName ) { struct stat st; stat(_pName, &st); return st.st_size; }
相关文章推荐
- Linux下求取文件长度的几种常用方法
- Linux下求取文件长度的几种常用方法
- 压缩目录Linux常用的几种文件压缩解压方法
- Linux常用的几种文件压缩解压方法
- Linux通过修改配置文件实现无限重启的几种方法
- java 追加内容到文件末尾的几种常用方法
- Linux查找文件内容的常用命令方法
- 将Linux文件清空的几种方法
- linux几种清空文件内容的方法
- Linux删除目录下的文件的几种方法 推荐
- 追加内容到文件末尾的几种常用方法
- linux几种快速清空文件内容的方法 - nanyun2010的专栏 - 博客频道 - CSDN.NET
- linux几种快速清空文件内容的方法
- 几个Linux中文件查找常用技术和方法
- Linux查找文件内容的常用命令方法
- linux几种快速清空文件内容的方法
- Linux 文件内容查阅的几种方法
- linux几种快速清空文件内容的方法
- My way on Linux - [Shell基础] - Bash Shell中判断文件、目录是否存在或者判断其是否具有某类属性(权限)的常用方法
- Linux下常用文件解压(包括RMP、DEB的解压方法)