C++ 打开C+编写的.bin文件+;程序
我需要在bin文件中保存一个结构,我的操作如下:C++ 打开C+编写的.bin文件+;程序,c++,file,binary,C++,File,Binary,我需要在bin文件中保存一个结构,我的操作如下: struct InputData inputData; //do something fileName = "xyz.bin"; fstream data_file(fileName.c_str(), ios::out|ios::binary); data_file.write(reinterpret_cast<char *>(&inputData), sizeof(InputData)); data_file.flush()
struct InputData inputData;
//do something
fileName = "xyz.bin";
fstream data_file(fileName.c_str(), ios::out|ios::binary);
data_file.write(reinterpret_cast<char *>(&inputData), sizeof(InputData));
data_file.flush();
data_file.close();
如何在文本编辑器或其他我可以看到的地方打开它
每个数据成员的值
您需要一个十六进制查看器来查看原始值。
或者,您可以创建一个脚本来查看值的真实形状。请发布
InputData
。如果InputData
不是POD类型,则所有文件处理代码都不起作用。POD是什么?你能解释一下吗?@AbhishekArya你能发布他要的密码吗?@AbhishekArya你试过搜索吗@阿披实迦-好的,现在你的结构是吊舱。但是,这一点很重要,如果您更新struct
使其不成为POD类型,那么整个文件处理代码都将被破坏。最好正确地序列化每个成员,而不仅仅是将一个巨大的字节块序列化到一个文件中。谢谢@jose。我试着打开它使用,但它没有工作的方式,我希望它是。你能推荐一个十六进制查看器吗?我不想偏向你的偏好。windows、mac甚至linux工具中都有大量的十六进制转储。在谷歌上寻找十六进制编辑器,祝你好运!所以,基本上我可以打开bin文件,但都是二进制ju 0和1。我想我将能够看到每个数据成员的名称及其值。看来那是不可能的。还是这样?
struct InputData
{
double JE_user;
double CA_FR;
double kz_user;
double kzt_user;
double kd_user;
double basic_v_user;
double JE_roof_user;
double Roof_Thk_user;
int Shell_Material_No[15][4];
int Option_walkway;
int curb_angle_No_user;
int Option_PWG;
int stfr_Mat_No[45];
int stfr_Sec_No[45][2];
int No_of_ShellCourses;
int No_of_Stiffeners_R;
int Shell_Appendx_No;
double weight_stair_user;
double weight_adder_user;
double Av;
int Roof_Material_No;
double snow_load_bal;
};