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
進行二進制文件讀寫。你可以根據自己的需求修改這些示例,以滿足你的具體任務。