📅  最后修改于: 2023-12-03 15:24:08.394000             🧑  作者: Mango
在编写 C++ 程序时,我们经常需要读取文件的大小。在这篇文章中,我们将学习如何在 C++ 中检查文件的大小。
在 C++ 中,可以使用 stat
函数来获取文件的信息,包括文件大小、修改时间等。使用 stat
函数需要包含 <sys/stat.h>
头文件。
代码如下:
#include <iostream>
#include <sys/stat.h>
int main() {
struct stat fileInfo;
if (stat("file.txt", &fileInfo) != 0) {
std::cerr << "Error: Unable to get file info.\n";
return 1;
}
std::cout << "File size: " << fileInfo.st_size << " bytes.\n";
return 0;
}
这个例子中,我们首先定义了一个 struct
类型的变量 fileInfo
,用来存储文件的信息。然后,我们使用 stat
函数读取文件信息,并将返回的信息保存到 fileInfo
变量中。如果 stat
函数调用失败,则输出错误信息并退出。
最后,我们输出文件大小信息。
另一种获取文件大小的方法是使用 ifstream
类,这个类可以从文件读取内容,并且包含文件大小信息。
代码如下:
#include <iostream>
#include <fstream>
int main() {
std::ifstream file("file.txt", std::ios::binary | std::ios::ate);
if (!file) {
std::cerr << "Error: Unable to open file.\n";
return 1;
}
std::cout << "File size: " << file.tellg() << " bytes.\n";
return 0;
}
这个例子中,我们首先使用 ifstream
类打开文件,并设置文件打开模式为二进制模式和 ate 模式(将文件读指针移动到文件末尾)。如果打开文件失败,则输出错误信息并退出。
最后,我们使用 tellg
函数获取文件大小,并输出文件大小信息。
这篇文章介绍了两种在 C++ 中获取文件大小的方式,使用 stat
函数和 ifstream
类。根据具体的使用情况,选择合适的方式可以使程序更加高效。