std20 c++ 获取文本文件的大小
时间: 2024-09-06 07:03:38 浏览: 63
在 C++ 中,你可以使用 `<fstream>` 库来获取文本文件的大小。`std::ifstream` 和 `std::ofstream` 类都包含一个名为 `tellg()` 或 `tellp()` 的成员函数,它们分别用于读文件和写文件,可以返回当前位置的偏移量。如果你想获取整个文件的大小,通常的做法是在打开文件之后移动到文件的末尾,然后读取当前的位置。
以下是一个简单的示例:
```cpp
#include <iostream>
#include <fstream>
#include <streampos>
int main() {
std::ifstream file("example.txt"); // 打开文件
if (!file) { // 检查是否成功打开
std::cerr << "Failed to open the file." << std::endl;
return 1;
}
// 移动到文件末尾
file.seekg(0, std::ios::end);
// 获取文件大小并保存到一个变量中
std::streampos fileSize = file.tellg();
// 关闭文件
file.close();
std::cout << "The file size is: " << fileSize << " bytes." << std::endl;
return 0;
}
```
在这个例子中,`seekg()` 函数的第二个参数 `std::ios::end` 表示从文件的结束位置开始,而第三个参数是忽略的,因为默认值就是 `std::ios_base::cur`,表示当前位置。`tellg()` 返回的是当前位置,也就是文件的结束位置,从而得到文件大小。
阅读全文