21xrx.com
2024-09-19 09:21:38 Thursday
登录
文章检索 我的文章 写文章
C语言实现读取文件大小的方法
2023-06-15 15:36:44 深夜i     --     --
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。

总结

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

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复