c++获取二进制文件字节数
时间: 2024-09-06 22:06:31 浏览: 29
在C++中,获取二进制文件的字节数可以通过几种不同的方法实现,这里介绍两种常见的方法:使用`<fstream>`库和`<cstdio>`库。
使用`<fstream>`库的方法如下:
```cpp
#include <iostream>
#include <fstream>
int main() {
std::string filePath = "example.bin"; // 二进制文件路径
std::ifstream file(filePath, std::ios::binary); // 以二进制模式打开文件
if (file) { // 检查文件是否成功打开
file.seekg(0, std::ios::end); // 移动到文件末尾
std::streampos fileSize = file.tellg(); // 获取当前文件指针的位置,即文件大小
std::cout << "文件大小为: " << fileSize << " 字节" << std::endl;
} else {
std::cerr << "无法打开文件" << std::endl;
}
file.close(); // 关闭文件
return 0;
}
```
使用`<cstdio>`库的方法如下:
```cpp
#include <iostream>
#include <cstdio>
int main() {
const char* filePath = "example.bin"; // 二进制文件路径
FILE* file = fopen(filePath, "rb"); // 以二进制模式打开文件
if (file != nullptr) { // 检查文件是否成功打开
fseek(file, 0, SEEK_END); // 移动到文件末尾
long fileSize = ftell(file); // 获取当前文件指针的位置,即文件大小
std::cout << "文件大小为: " << fileSize << " 字节" << std::endl;
} else {
std::cerr << "无法打开文件" << std::endl;
}
fclose(file); // 关闭文件
return 0;
}
```
在这两种方法中,首先都以二进制模式打开文件,然后移动到文件末尾,通过获取文件指针当前位置来计算文件的大小,即文件的字节数。最后,关闭文件以释放资源。