温馨提示×

用ifstream进行二进制文件读写

小樊
83
2024-09-02 19:08:06
栏目: 编程语言

ifstream 是 C++ 中的一个类,用于从文件中读取数据。要使用 ifstream 进行二进制文件读写,你需要以二进制模式打开文件,并使用 read()write() 函数来读取和写入数据。

下面是一个简单的示例,展示了如何使用 ifstream 读取二进制文件:

#include<iostream>
#include <fstream>

int main() {
    std::ifstream file("example.bin", std::ios::binary); // 以二进制模式打开文件

    if (!file) {
        std::cerr << "Error opening file."<< std::endl;
        return 1;
    }

    char buffer[1024]; // 创建一个缓冲区来存储读取的数据
    while (file.read(buffer, sizeof(buffer))) { // 使用 read() 函数读取数据
        // 在这里处理读取到的数据,例如将其输出到控制台
        std::cout.write(buffer, sizeof(buffer));
    }

    // 处理最后一次读取的数据(可能不足缓冲区大小)
    std::streamsize bytesRead = file.gcount();
    if (bytesRead > 0) {
        std::cout.write(buffer, bytesRead);
    }

    file.close(); // 关闭文件
    return 0;
}

要使用 ofstream 进行二进制文件写入,你可以参考以下示例:

#include<iostream>
#include <fstream>

int main() {
    std::ofstream file("output.bin", std::ios::binary); // 以二进制模式打开文件

    if (!file) {
        std::cerr << "Error opening file."<< std::endl;
        return 1;
    }

    const char data[] = "Hello, world!"; // 要写入文件的数据
    file.write(data, sizeof(data)); // 使用 write() 函数写入数据

    file.close(); // 关闭文件
    return 0;
}

这些示例展示了如何使用 ifstreamofstream 进行二进制文件读写。你可以根据自己的需求修改这些示例,以满足你的具体任务。

0