阅读量:0
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; }
这些示例展示了如何使用 ifstream
和 ofstream
进行二进制文件读写。你可以根据自己的需求修改这些示例,以满足你的具体任务。