当我向文件写入结构时,如何在文件中设置内存?例如,以下结构和功能:
struct vector3D
{
public:
float x, y, z;
vector3D(float modelX, float modelY, float modelZ)
{
x = modelX;
y = modelY;
z = modelZ;
}
vector3D()
{
x = 0;
y = 0;
z = 0;
}
}
inline void writeVector3D(vector3D vec, FILE *f)
{
fwrite((void*)(&vec), sizeof(vector3D), 1, f);
}
这段代码在main中:
vector3D vec(1, 2, 3);
writeVector3D(vec, file);
文件中的信息如何设置?像
123
吗?还是struct有不同的设置?
最佳答案
它将其写入为顺序二进制流。
文件的大小将是结构的大小。
在您的情况下,它将总共写入12个字节(每个浮点数为4个字节),并且将采用以下方式进行结构化:
前4个字节代表浮点数1
后4个字节代表浮点数2
后4个字节代表浮点数3
关于c++ - 将结构写入文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24415600/