是的,C++中的istream类可以用来读取二进制文件。可以使用read()方法从二进制文件中读取数据,并将其存储在一个指定的缓冲区中。读取二进制文件时,需要使用ios::binary标志打开文件流,以确保以二进制模式进行读取。以下是一个示例代码:
#include <iostream>
#include <fstream>
int main() {
std::ifstream file("binary_file.bin", std::ios::binary);
if (file.is_open()) {
// 读取文件内容
char buffer[100];
file.read(buffer, sizeof(buffer));
// 打印读取的数据
for (int i = 0; i < file.gcount(); i++) {
std::cout << buffer[i];
}
file.close();
} else {
std::cout << "无法打开文件" << std::endl;
}
return 0;
}
在上面的示例中,我们首先打开一个名为“binary_file.bin”的二进制文件流,然后使用read()方法读取文件内容,并将其存储在名为“buffer”的缓冲区中。最后,我们通过循环遍历缓冲区中的数据,并将其打印出来。