用二进制文件对字符数组初始化
时间: 2024-05-01 14:18:59 浏览: 96
可以使用以下代码将二进制文件内容读入字符数组中:
```c++
#include <iostream>
#include <fstream>
int main() {
std::ifstream file("binary_file.bin", std::ios::binary);
if (!file) {
std::cerr << "Failed to open file\n";
return 1;
}
// get length of file
file.seekg(0, std::ios::end);
std::streamsize length = file.tellg();
file.seekg(0, std::ios::beg);
// allocate memory for buffer
char* buffer = new char[length];
// read data as a block
file.read(buffer, length);
file.close();
// print content of the buffer
for (int i = 0; i < length; ++i) {
std::cout << "buffer[" << i << "] = " << buffer[i] << '\n';
}
// deallocate buffer memory
delete[] buffer;
return 0;
}
```
这段代码通过ifstream打开二进制文件,并使用ios::binary标志来指示以二进制模式打开文件。接下来,代码使用`seekg`函数获取文件长度,并使用`new`运算符为字符数组分配内存。然后,代码读取文件内容到字符数组中,并使用`close`函数关闭文件。最后,代码遍历字符数组并打印每个元素的值,最后使用`delete`运算符释放字符数组内存。
阅读全文