C++ 获取文件大小
时间: 2024-11-28 19:06:42 浏览: 26
在C++中,获取文件大小通常涉及使用`fstream`库中的文件流操作。以下是一个基本的示例,展示了如何打开一个二进制模式下的文件流,然后通过移动文件指针到文件的末尾来获取文件的实际大小:
```cpp
#include <fstream>
#include <iostream>
std::size_t getFileSize(const std::string &filePath) {
std::ifstream file(filePath, std::ios::binary);
if (!file.is_open()) {
std::cerr << "Failed to open the file." << std::endl;
return 0; // 或者抛出异常
}
// 移动到文件的末尾
file.seekg(0, std::ios::end);
// 保存当前的位置,这将给出文件的大小
std::streampos fileSizePos = file.tellg();
file.close();
return fileSizePos;
}
int main() {
std::string filePath = "your_file_path";
std::size_t fileSize = getFileSize(filePath);
if (fileSize > 0) {
std::cout << "File size is: " << fileSize << " bytes" << std::endl;
} else {
std::cerr << "Failed to get the file size." << std::endl;
}
return 0;
}
```
在这个例子中,如果文件无法打开或者获取大小失败,程序会打印错误消息。注意,`tellg()`返回的是文件指针相对于文件开头的距离,所以这个值就是文件的大小。
阅读全文