Linux计算求取文件长度
生活随笔
收集整理的這篇文章主要介紹了
Linux计算求取文件长度
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在文件IO的編程過程中,經常會遇到如何求取文件長度的問題,這里將工積累的一些常用方法寫出來與大家分享。
第一類: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计算求取文件长度的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PMP-132种工具技术合集-(第6版)
- 下一篇: matlab配置vlfeat工具箱