我想用二進制格式寫文件。我有我下面的代碼,但它以文本格式保存文件。用二進制格式寫文件
#include <iostream>
#include <fstream>
using namespace std;
int main(){
std::string ref = "Ecoli. 123";
unsigned int size = 124;
std::ofstream supp_info_output("binary_file", std::ios::out | std::ios::binary); // saving file
supp_info_output << ref << std::endl;
supp_info_output << size << std::endl;
supp_info_output.close();
std::ifstream supp_info_input("binary_file", std::ios::in | std::ios::binary); // loading file
std::string supp_info_line;
while(std::getline(supp_info_input, supp_info_line).good()){
std::cout << supp_info_line << std::endl;
}
supp_info_input.close();
}
在代碼中我寫了一些數據,然後再次讀取數據。閱讀和寫作沒有問題,但我需要二進制格式的文件。
operator <<如果int給出,則寫入文本,簡單地說。如果你想有一個int的二進制數據,你必須寫出存儲在內存中的字節。 – Klaus
@克勞斯哦!是不是每個數據元素都有大量的代碼呢 – AwaitedOne