二进制文件读取c++
时间: 2025-01-08 07:48:37 浏览: 8
### 如何在 C++ 中读取二进制文件
为了实现这一功能,可以利用 `fstream` 库中的类来操作文件流。下面是一个简单的例子展示如何打开并读取一个二进制文件的内容到内存缓冲区。
```cpp
#include <iostream>
#include <fstream>
#include <vector>
bool readFileBinary(const char* filename, std::vector<char>& buffer) {
// 打开文件作为输入的二进制模式
std::ifstream file(filename, std::ios::binary);
if (!file.is_open()) return false;
// 获取文件大小
file.seekg(0, std::ios::end);
size_t fileSize = file.tellg();
file.seekg(0);
// 调整向量容量以适应整个文件数据
buffer.resize(fileSize);
// 将文件内容读入缓冲区内存区域
file.read(buffer.data(), fileSize);
// 关闭文件
file.close();
return true;
}
```
这段代码定义了一个函数 `readFileBinary()` 接受文件名字符串参数以及引用传递的一个字符型动态数组对象用于存储加载的数据[^1]。此方法先尝试以二进制只读方式打开指定路径下的目标文件;如果成功,则计算其长度并将相应字节数目分配给容器空间之后执行实际I/O传输动作直至结束位置为止最后关闭句柄完成整个过程[^2]。
阅读全文