用readAll()将文件中的所有数据读取到一个unsigned char类型的数组中代码
时间: 2024-05-04 10:17:20 浏览: 79
以下是将文件内容读取到unsigned char数组中的代码:
```c++
#include <iostream>
#include <fstream>
int main() {
std::ifstream file("example.bin", std::ios::binary);
if (file) {
// 获取文件大小
file.seekg(0, std::ios::end);
std::streampos fileSize = file.tellg();
file.seekg(0, std::ios::beg);
// 创建 unsigned char 数组并读取文件内容
unsigned char* buffer = new unsigned char[fileSize];
file.read(reinterpret_cast<char*>(buffer), fileSize);
// 打印数组内容
for (int i = 0; i < fileSize; ++i) {
std::cout << buffer[i] << " ";
}
// 释放内存
delete[] buffer;
}
return 0;
}
```
在这个例子中,我们打开了一个名为 `example.bin` 的二进制文件,并使用 `read()` 方法将其内容读取到一个 `unsigned char` 类型的数组中。我们首先使用 `seekg()` 方法获取文件大小,然后使用 `new` 运算符创建一个与文件大小相同的数组,并使用 `read()` 方法将文件内容读取到该数组中。最后,我们遍历数组并打印出每个元素的值。注意,我们使用了 `reinterpret_cast` 运算符将 `unsigned char*` 类型的指针转换为 `char*` 类型的指针,以便将其传递给 `read()` 方法。
阅读全文