下面是數據結構變量:寫入二進制文件?
struct Part_record
{
char id_no[3];
int qoh;
string desc;
double price:
};
---
(Using "cin" to input data)
---
Part_record null_part = {" ", 0," ",0.0};
---
---
file.seekg(-(long)sizeof(Part_record), ios::cur);
file.write((char *)&part, sizeof(Part_record));
三個變量,庫存量,id_no上&價格,寫出正確的,但「遞減」 變量是不正確的。 我是否需要以其他方式初始化Part_record?它應該是20個字符的長度。
如果您在這裏有足夠的信息,請分享你的建議。
海報應該單獨讀寫每個元素,而不是在整個結構中使用塊I/O。塊I/O中有很多空洞,並且帶有'std :: string'的字段就是其中之一。對於更快的I/O,可以將結構的成員*連續*複製到緩衝區中,然後將緩衝區寫成一個塊。OP設計中的另一個缺點是編譯可以在字段之間插入填充。 – 2010-04-07 22:37:27