如何用C语言获取文件的大小

如题所述

intfile_size(char*filename)

{

FILE*fp=fopen(filename,"r");

if(!fp)return-1;

fseek(fp,0L,SEEK_END);

intsize=ftell(fp);

fclose(fp);

returnsize;

}

扩展资料

C语言获取文件长度及全部内容

FILE*fp;

fp=fopen("localfile","rb");//localfile文件名

fseek(fp,0L,SEEK_END);/*定位到文件末尾*/

flen=ftell(fp);/*得到文件大小*/

p=(char*)malloc(flen+1);/*根据文件大小动态分配内存空间*/

if(p==NULL)

{

fclose(fp);

return0;

}

fseek(fp,0L,SEEK_SET);/*定位到文件开头*/

fread(p,flen,1,fp);/*一次性读取全部文件内容*/

p[flen]=0;/*字符串结束标志*/

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-09-04

这与系统有关,不同的系统会提供不同的API函数,下面提供一种与系统无关的方法:


FILE *fp=fopen("C:\\Windows\\explorer.exe","rb");//打开文件
int size=0;
fseek(fp,0,SEEK_END);//将文件位置指针置于文件结尾
size=ftell(fp);//得到当前位置与文件开始位置的字节偏移量。
fclose(fp);
printf("%d",size/1024);//输出结果。

第2个回答  推荐于2017-09-18

两种方法:

1、用stat()函数来获取

int main()
{
     struct stat st ;
     stat( "file.txt", &st );
     printf(" file size = %d\n", st.st_size);
     return 0;
}

2、用ftell()函数来获取

int main()
{
    FILE *fp;
    fp=fopen( "file.txt", "r");
    fseek(fp, 0L, SEEK_END );
    printf(" file size = %d\n", ftell(fp) );
    return 0;
}

本回答被提问者和网友采纳

如何用C语言获取文件的大小
方法一:利用纯C语言来获取文件大小 unsigned long get_file_size(const char *filename){ unsigned long size;FILE* fp = fopen( filename, "rb" );if(fp==NULL){ printf("ERROR: Open file %s failed.\\n", filename);return 0;} fseek( fp, 0L, SEEK_END );size=ftell(fp);fclose...

如何用C语言获取文件的大小
一、获取文件系统属性,读取文件大小。在C语言库函数中有stat函数,可以获取文件的基本信息,其中就有文件大小。include <sys\/stat.h>\/\/包含头文件。int file_size(char* filename)\/\/获取文件名为filename的文件大小。{ struct stat statbuf; int ret; ret = stat(filename,&statbuf);\/...

如何用C语言获取文件的大小
intfile_size(char*filename){ FILE*fp=fopen(filename,"r");if(!fp)return-1;fseek(fp,0L,SEEK_END);intsize=ftell(fp);fclose(fp);returnsize;}

如何用C语言获取文件的大小
1、用stat()函数来获取 int main(){ struct stat st ;stat( "file.txt", &st );printf(" file size = %d\\n", st.st_size);return 0;} 2、用ftell()函数来获取 int main(){ FILE *fp;fp=fopen( "file.txt", "r");fseek(fp, 0L, SEEK_END );printf(" file size = %d\\n...

如何用C语言获取文件的大小
c语言可以通过stat()函数获得文件属性,通过返回的文件属性,从中获取文件大小。include <sys\/stat.h> 可见以下结构体和函数 struct stat { _dev_t st_dev;_ino_t st_ino;unsigned short st_mode;short st_nlink;short st_uid;short st_gid;_dev_t st_rdev;_off_t st_size; \/\/文件...

如何用C语言获取文件的大小
没有直接的接口 可以用如下方式 FILE *fp;int size;fp = fopen("in_file_name", "rb");fseek(fp, 0, SEEK_END);size=ftell(fp);fclose(fp);得到的size就是文件大小。

c语言如何获得文件的创建时间以及文件的大小?(头文件及所用的函数,最...
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:\\...

如何在C语言中使用ftell函数获取文件的长度?
\/\/得到文件大小 p=(char *)malloc(flen+1); \/\/动态分配内存空间 if(p==NULL) { fclose(fp); return 0; } fseek(fp,0L,SEEK_SET); \/\/定位到文件开头 fread(p,flen,1,fp); \/\/一次性读取全部文件内容 p[flen]=0; \/\/字符串结束标志 printf("%s",p...

c语言如何通过文件属性获取文件大小
c语言可以通过stat()函数获得文件属性,通过返回的文件属性,从中获取文件大小。include <sys\/stat.h> 可见以下结构体和函数 struct stat { _dev_t st_dev;_ino_t st_ino;unsigned short st_mode;short st_nlink;short st_uid;short st_gid;_dev_t st_rdev;_off_t st_size;\/\/文件大小 ti...

C语言获取文件大小&读&写文件代码
本文提供了一套C语言代码,以实现文件大小获取、读取以及写入功能。代码通过三个文件实现,包括头文件“fGetFileInfo.h”,实现相关函数定义;源文件“fGetFileInfo.c”,实现函数逻辑;以及用于测试的“main.c”。具体而言,使用“fGetFileInfo.h”文件中的函数可以获取文件的大小,实现简单高效。在“f...

相似回答