1.MFC中的方法:(C++)
CFileStatus status; CFile::GetStatus("D://test.txt",status); long lSizeOfFile; lSizeOfFile = status.m_size;
lSizeOfFile的值就是D://test.txt文件的大小
2.标准C获得文件大小的5种方法 (注意:"__FILE__"指的是当前文件,你可以改为有效路径的目标文件,比如"D://test.txt") #include "stdafx.h" #include "stdio.h" #include <sys/stat.h> #include <io.h> #include <FCNTL.H>
int getfilesize() { int iresult; struct _stat buf; iresult = _stat(__FILE__,&buf); if(iresult == 0) { return buf.st_size; } return NULL; }
int getfilesize01() { int fp; fp=_open(__FILE__,_O_RDONLY); if(fp==-1) return NULL; return _filelength(fp); //return NULL; }
int getfilesize02() { int fp; fp=_open(__FILE__,_O_RDONLY); if(fp==-1) return NULL; return _lseek(fp,0,SEEK_END); //return NULL; }
int getfilesize03() { int fp; fp=_open(__FILE__,_O_RDONLY); if(fp==-1) return NULL; return _lseek(fp,0,SEEK_END); //return NULL; }
int getfilesize04() { FILE *fp; if((fp=fopen(__FILE__,"r"))==NULL) return 0; fseek(fp,0,SEEK_END); return ftell(fp); //return NULL; }
int getfilesize05() { FILE *fp; char str[1]; if((fp=fopen(__FILE__,"rb"))==NULL) return 0; for(int i = 0;!feof(fp);i++) { fread(&str,1,1,fp); } return i - 1; //return NULL; }
int main(int argc, char* argv[]) { printf("getfilesize()=%d/n",getfilesize()); printf("getfilesize01()=%d/n",getfilesize01()); printf("getfilesize02()=%d/n",getfilesize02()); printf("getfilesize03()=%d/n",getfilesize03()); printf("getfilesize04()=%d/n",getfilesize04()); printf("getfilesize05()=%d/n",getfilesize05()); return 0; }