c语言读取文件大小的函数 c语言读取文件大小的函数怎么写

c语言如何获得文件的创建时间以及文件的大?。浚ㄍ肺募八玫暮?nbsp;, 最好有用法举例)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;
}
C语言 stat()函数获得文件大小需不需要打开文件?就是stat()函数是怎么获得文件的大小的?stat函数不需要c语言读取文件大小的函数 , 只要文件名就行(你c语言读取文件大小的函数的文件在当前路径下,要不还需将路径名加上) , int state(const char * path,struct stat *buf);这是函数原型 。在struct state这个结构体中有个st_size这个变量,c语言读取文件大小的函数他就是文件大小的变量 。具体你可以查一下man手册 。与它类似的还有一个fstat,他需要open文件得到文件描述符 。
c语言中的rewind()是什么意思rewind是C 程序中的库函数 。
功 能: 将文件内部的位置指针重新指向一个流(数据流/文件)的开头 。
注意c语言读取文件大小的函数:不是文件指针而是文件内部的位置指针c语言读取文件大小的函数 , 随着对文件的读写文件的位置指针(指向当前读写字节)向后移动 。而文件指针是指向整个文件,如果不重新赋值文件指针不会改变 。
rewind函数作用等同于 (void)fseek(stream, 0L, SEEK_SET); 用 法: void rewind(FILE *stream);
“函数”是从英文function翻译过来的,其实 , function在英文中的意思即是“函数”,也是“功能” 。从本质意义上来说,函数就是用来完成一定功能的 。
这样对函数的概念就很好理解了,所谓函数名就是给该功能起个名字,如果该功能是用来实现数学运算的,就是数学函数 。
扩展资料
C语言没有提供获取文件大小的函数,要想实现该功能,必须自己编写函数 。
1、fseek()函数

推荐阅读