Linux下求取文件长度的几种常用方法
2010-11-19 22:43
295 查看
第一类: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;
}
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几种快速清空文件内容的方法 、删除部分内容的方法
- linux下几种快速清空文件内容的方法
- linux上的文件管理类命令有哪些,常用的使用方法及其相关实例演示
- linux几种清空文件内容的方法
- linux几种快速清空文件内容的方法
- linux几种快速清空文件内容的方法
- Linux主机之间传输文件的几种方法对比
- java 追加内容到文件末尾的几种常用方法
- Linux 几种上传文件到linux服务的方法
- Linux文件查看/编辑方法介绍-putty常用命令
- Linux文件管理及常用方法
- linux几种快速清空文件内容的方法
- Linux查找文件内容的常用命令方法
- .net实现文件读写的几种常用方法
- 几个Linux中文件查找常用技术和方法
- linux中快速清空文件内容的几种方法