21xrx.com
2025-03-23 07:25:22 Sunday
文章检索 我的文章 写文章
C语言实现读取文件大小的方法
2023-06-15 15:36:44 深夜i     19     0
C语言 文件 大小 fseek ftell _stat函数

在C语言程序中,我们经常需要读取文件的大小来帮助我们更好地处理文件。那么,在C语言中如何快速、准确地读取文件的大小呢?下面就来和大家分享一下自己的方法。

方法一:使用fseek和ftell函数

这是最常用的方法之一。我们可以使用fseek函数将文件指针移动到文件末尾,然后再使用ftell函数来获取文件指针距离文件开头的偏移量,也就是文件的大小。以下是具体的代码实现:

#include 
int main() {
  FILE *fp = fopen("test.txt", "rb");
  if (fp == NULL) {
    printf("Unable to open file.\n");
    return 0;
  }
  fseek(fp, 0, SEEK_END);
  long size = ftell(fp);
  printf("File size is %ld bytes.\n", size);
  fclose(fp);
  return 0;
}

方法二:使用_stat函数

另一个方法是使用C语言标准库中的_stat函数,它可以返回一个文件的信息,包括文件大小、最近的修改时间等等。以下是具体的代码实现:

#include 
#include 
int main() {
  struct stat st;
  if (stat("test.txt", &st) != 0) {
    printf("Unable to get file properties.\n");
    return 0;
  }
  printf("File size is %ld bytes.\n", st.st_size);
  return 0;
}

需要注意的是,这个方法需要使用系统头文件,因此它的跨平台性可能不如方法一。此外,在Windows系统下,_stat函数需要添加一个下划线前缀:_stat。

总结

以上就是两种不同的方法读取文件大小的方法。第一种方法使用了两个标准库函数,而第二种方法使用了系统头文件。无论哪种方法,都可以快速、准确地获取文件大小。

  
  

评论区

    相似文章