c++获取文件大小fstream
时间: 2023-08-31 14:06:07 浏览: 170
获取文件的大小 C++代码
你可以使用 `std::fstream` 类来获取文件大小。具体的代码如下所示:
```c++
#include <fstream>
long getFileSize(const std::string& filename) {
std::ifstream file(filename, std::ios::binary | std::ios::ate);
if (file.fail()) {
return -1; // 出错返回-1
}
return static_cast<long>(file.tellg()); // 返回文件大小
}
int main() {
std::string filename = "example.txt";
long size = getFileSize(filename);
if (size < 0) {
std::cout << "Failed to open file." << std::endl;
return 1;
}
std::cout << "File size: " << size << " bytes." << std::endl;
return 0;
}
```
上述代码中的 `getFileSize` 函数接收一个文件名作为参数,然后使用 `std::ifstream` 类打开文件,并将文件指针移动到文件末尾。接着,函数使用 `tellg` 函数获取文件指针的当前位置,这个位置也就是文件大小。最后,函数将文件大小返回给调用者。
在 `main` 函数中,我们调用 `getFileSize` 函数来获取 `example.txt` 文件的大小。如果文件打开失败,函数将返回 `-1`。最后,我们输出文件大小并返回0。
阅读全文