我有一个结构体,其中包含字符串。类似于这样:
struct Chunk { int a; string b; int c; };
因此,我认为不能使用fread和fwrite函数从文件中读写此结构体,因为字符串可能会保留不同的内存容量。 但是,这样的代码可以正确工作。
Chunk var;
fwrite(&var,sizeof(Chunk),1,file);
fread(&var,sizeof(Chunk),1,file);
这里真的有问题吗?
struct Chunk { int a; string b; int c; };
因此,我认为不能使用fread和fwrite函数从文件中读写此结构体,因为字符串可能会保留不同的内存容量。 但是,这样的代码可以正确工作。
Chunk var;
fwrite(&var,sizeof(Chunk),1,file);
fread(&var,sizeof(Chunk),1,file);
这里真的有问题吗?
s{uint8_t c; uint64_t d};
,sizeof(struct s)
可能不是9。 - user786653