c++读取二进制文件例子
时间: 2023-08-16 13:07:50 浏览: 155
二进制文件读写代码范例
下面是一个简单的示例代码,演示如何使用C++读取二进制文件:
```cpp
#include <iostream>
#include <fstream>
using namespace std;
int main() {
// 创建一个输入二进制文件的流对象
ifstream inFile("binary_file.bin", ios::in | ios::binary);
if (inFile) {
// 获取文件大小
inFile.seekg(0, ios::end);
streampos fileSize = inFile.tellg();
inFile.seekg(0, ios::beg);
// 分配内存存储文件数据
char* buffer = new char[fileSize];
// 读取二进制数据
inFile.read(buffer, fileSize);
// 关闭文件流
inFile.close();
// 处理数据,可以根据需要进行类型转换等操作
// 输出数据
for (int i = 0; i < fileSize; i++) {
cout << buffer[i];
}
// 释放内存
delete[] buffer;
}
else {
cout << "Failed to open the file." << endl;
}
return 0;
}
```
在这个示例中,我们使用`ifstream`类创建了一个输入二进制文件的流对象`inFile`。我们以二进制模式打开文件(`ios::binary`),然后使用`seekg`和`tellg`函数获取文件大小,并将文件指针移动到文件起始位置。
接着,我们使用`new`运算符动态分配了一块内存,用于存储文件数据。然后,我们使用`read`函数读取二进制数据到缓冲区`buffer`中。
最后,我们关闭文件流,处理数据(可以根据需要进行类型转换等操作),并输出数据。在这个示例中,我们将每个字节都以字符形式输出,你可以根据实际需要进行相应的处理。
最后,我们使用`delete[]`释放了动态分配的内存。
希望这个示例能帮助到你!如果有任何问题,请随时提问。
阅读全文