参考下面的文章C/C++读写文本文件、二进制文件
在编写一个DE405星历文件的读取函数中,结构体读取后数值与实际的不一致
在下面这段代码中,读取struct后label
与constName
内容正确后面结构數值不正确。
通过比较读取结果与实际数值发现读取到的AU
数值为实际的EMRAT
数值。因此猜测是数据结构体的发生了错位情况
由于不是专业絀身,这个内存字节的原因不能说清楚原来在用fortran编写带有通信接口的程序时曾遇到过类似问题,虽然代码不做改动但是否指定单字节內存对齐将影响数据处理的结果。
这里我使用的是Qt的mingw32编译套件编译的程序,将上述代码的结构定义修改为
二进制文件的数据结构能够正確读写