c++

C++ istream能否读取二进制文件

小樊
89
2024-07-18 13:43:46
栏目: 编程语言

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

0
看了该问题的人还看了