ifstream
是 C++ 中的一个类,用于从文件中读取数据。要使用 ifstream
进行二进制文件读写,你需要以二进制模式打开文件,并使用 read()
和 write()
函数来读取和写入数据。
下面是一个简单的示例,展示了如何使用 ifstream
读取二进制文件:
#include
#include
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
#include
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
进行二进制文件读写。你可以根据自己的需求修改这些示例,以满足你的具体任务。