📜  C程序查找文件大小(1)

📅  最后修改于: 2023-12-03 15:30:15.780000             🧑  作者: Mango

C程序查找文件大小

在C语言中,可以利用系统提供的库函数来查找文件大小。查找文件大小可以帮助程序员更好地管理文件,比如拷贝文件或者读写文件等。下面介绍如何使用C语言查找文件大小。

查找文件大小的方法

C语言中提供了两种查找文件大小的方法:

方法一:使用stat函数

stat函数是C语言中常用的查看文件属性的函数,可以通过此函数找到文件大小信息。下面是使用stat函数查找文件大小的程序片段:

#include <stdio.h>
#include <sys/stat.h>

int main()
{
   struct stat buf;

   if(stat("filename", &buf) == 0)
       printf("文件大小为:%ld", buf.st_size);
  
   return 0;
}

首先要包含头文件<sys/stat.h>,然后定义一个struct stat的结构体变量buf,调用stat("filename", &buf)函数即可将文件的属性读取到buf变量中。其中,buf.st_size表示文件大小。

方法二:使用fseek和ftell函数

另一种查找文件大小的方法是使用fseek和ftell函数,这种方法的实现比较简单。下面是使用fseek和ftell函数查找文件大小的程序片段:

#include <stdio.h>

int main()
{
   FILE *fp;
   long int size;

   fp = fopen("filename", "rb");  // 以二进制模式打开文件
   if(fp == NULL)
   {
      printf("文件打开失败!");
      return 1;
   }

   fseek(fp, 0, SEEK_END);   // 指针移动到文件末尾
   size = ftell(fp);         // 获取文件大小
   printf("文件大小为:%ld", size);

   fclose(fp);
   return 0;
}

首先使用fopen("filename", "rb")函数以二进制读取方式打开文件,如果文件打开失败则返回1。然后使用fseek(fp, 0, SEEK_END)函数将文件指针指向文件末尾,接着使用ftell(fp)函数获取文件大小。最后使用fclose(fp)函数关闭文件。

总结

以上就是C语言中两种查找文件大小的方法。这两种方法各有优劣,可以根据实际情况选择使用。使用这些方法可以帮助程序员更好地管理文件,加深对C语言的理解。