我在寫C++和從二進制文件讀取時遇到了很多困難。 我學到了很多棧的問題,但我從來沒有得到它的工作和我猜測,問題在於在閱讀過程中,在二進制文件中讀取字符串C++
下面是讀取和保存方法:
void date::save(ofstream& fo){
fo.write((char *) &jour, sizeof(int));
fo.write((char *)&moi, sizeof(int));
fo.write((char *)&annee, sizeof(int));
size_t len = heure.size();
fo.write((char *)&len,sizeof(size_t));
fo.write(heure.c_str(), heure.size());
}
void date::load(ifstream& fi){
fi.read((char *)&jour, sizeof(int));
fi.read((char *)&moi, sizeof(int));
fi.read((char *)&annee, sizeof(int));
size_t len;
fi.read((char *)&len, sizeof(size_t));
char* temp = new char[len+1];
fi.read(temp, len);
temp[len] = '\0';
heure = temp;
delete [] temp;
}
在additon:是否可以使用ofstream.write()函數直接保存具有動態屬性的類?
非常感謝。
你好!在將來的帖子中,請在你的問題標籤中加入你正在使用哪種語言(在本例中爲C++),以便接收最大量的視圖和可能的答案。 –
問題到底是什麼?我看不出這個代碼有什麼問題。 –