21xrx.com
2024-11-05 19:00:51 Tuesday
登录
文章检索 我的文章 写文章
C++如何获取文件大小
2023-06-24 21:58:57 深夜i     --     --
C++ 文件 大小 获取

在C++中获取文件大小,可以使用系统提供的函数或自行编写函数来实现。下面分别介绍这两种方式。

一、使用系统提供的函数:

有两个系统提供的函数可以获取文件大小,分别是_stat和_fstat。这两个函数都需要传入一个struct _stat类型的结构体指针,来存储文件的相关信息。

以_stat为例,以下是获取文件大小的代码:


#include <iostream>

#include <sys/stat.h>

using namespace std;

int main()

{

  struct _stat st;

  if (_stat("test.txt", &st) == 0)

  

    cout << "文件大小为:" << st.st_size << endl;

  

  else

  

    cout << "获取文件大小失败!" << endl;

  

  return 0;

}

其中,_stat的第一个参数是要获取大小的文件名,第二个参数是一个指向_stat结构体的指针,用于存储文件的相关信息。如果_stat返回0,说明获取文件信息成功,可以从st结构体中获取文件大小。

二、自行编写函数:

也可以自己编写函数来获取文件大小。以下是一个简单的例子:


#include <iostream>

#include <fstream>

using namespace std;

int getFileSize(string filename)

{

  ifstream file(filename, ios::binary | ios::ate);

  return file.tellg(); 

}

int main()

{

  string filename = "test.txt";

  int size = getFileSize(filename);

  if (size != -1)

  

    cout << "文件大小为:" << size << endl;

  

  else

  

    cout << "获取文件大小失败!" << endl;

  

  return 0;

}

这个例子中,我们使用了C++标准库中的ifstream类,打开文件并以二进制方式读取,使用tellg函数获取当前的读指针位置,即文件大小。

综上所述,无论是使用系统提供的函数还是自己编写函数,在C++中获取文件大小都是非常简单的。通过这些方法,我们可以方便地读取文件大小,以便更好地处理文件。

  
  

评论区

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