是的,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”的缓冲区中。最后,我们通过循环遍历缓冲区中的数据,并将其打印出来。