【发布时间】:2014-06-25 18:08:35
【问题描述】:
当我将结构写入文件时,文件中的内存是如何设置的?例如这个结构和函数:
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吗?
或者结构有不同的设置?
【问题讨论】:
-
这会写出二进制表示。进行二进制输出的一个缺点是您如何处理对数据结构的更改(与读取/写入文本相比,例如 XML 或 JSON)。