是的,C++中的istream類(lèi)可以用來(lái)讀取二進(jìn)制文件??梢允褂胷ead()方法從二進(jìn)制文件中讀取數(shù)據(jù),并將其存儲(chǔ)在一個(gè)指定的緩沖區(qū)中。讀取二進(jìn)制文件時(shí),需要使用ios::binary標(biāo)志打開(kāi)文件流,以確保以二進(jìn)制模式進(jìn)行讀取。以下是一個(gè)示例代碼:
#include <iostream>
#include <fstream>
int main() {
std::ifstream file("binary_file.bin", std::ios::binary);
if (file.is_open()) {
// 讀取文件內(nèi)容
char buffer[100];
file.read(buffer, sizeof(buffer));
// 打印讀取的數(shù)據(jù)
for (int i = 0; i < file.gcount(); i++) {
std::cout << buffer[i];
}
file.close();
} else {
std::cout << "無(wú)法打開(kāi)文件" << std::endl;
}
return 0;
}
在上面的示例中,我們首先打開(kāi)一個(gè)名為“binary_file.bin”的二進(jìn)制文件流,然后使用read()方法讀取文件內(nèi)容,并將其存儲(chǔ)在名為“buffer”的緩沖區(qū)中。最后,我們通過(guò)循環(huán)遍歷緩沖區(qū)中的數(shù)據(jù),并將其打印出來(lái)。