下面是数据结构变量:写入二进制文件?
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