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

如题所述

/*  解题思路: 以只读方式打开某一文件,然后将文件指针定位在文件结尾的位置,利用ftell函数返回指针的在文件中的相对位置即可。
*/

#include "stdio.h"

main()
{ FILE *fp;   /*定义文件指针*/
  long cnt;   /*定义变量cnt用来存储文件大小数据*/
  fp=fopen("c:\\1.txt","r");   /*此处请填写测试文件的地址,并以只读("r")方式打开文件*/
  if( fp==NULL )  /*如果打开的文件不存在,则退出*/
     { exit(0);
       printf("文件打开失败!");
     }
  fseek(fp,0L,SEEK_END);   /*利用fseek函数将指针定位在文件结尾的位置*/
  cnt=ftell(fp);   /*利用ftell函数返回指针相对于文件开头的位置,以字节计算*/
  printf("文件所占的字节数为%ld个\n",cnt);   /*进行输出*/
}

 

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-05-08
两种方法:
1、用stat()函数来获取

1
2
3
4
5
6
7

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

2、用ftell()函数来获取

1
2
3
4
5
6
7
8

int main()
{
FILE *fp;
fp=fopen( "file.txt", "r");
fseek(fp, 0L, SEEK_END );
printf(" file size = %d\n", ftell(fp) );
return 0;
}本回答被提问者采纳
相似回答