这是一个带有变量的数据结构:
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) );
三个变量:qoh、Id_no和price被正确写出,但“desc”变量不正确。我需要用另一种方式初始化Part_record吗?它应该有20个字符长度。
如果您有足够的信息,请分享您的建议。
std::string
字段。为了更快的I/O,可以将结构的成员连续地复制到缓冲区中,然后将缓冲区作为一个块进行写入。OP设计中的另一个漏洞是编译器可以在字段之间插入填充。 - Thomas Matthews