我是新来的,我有一个问题,我有一个结构,假设总大小是 8 个字节,这里是结构:
struct Header
{
int ID; // 4 bytes
char Title [4]; // 4 bytes too
}; // so it 8 bytes right?
而且我也有一个 8 字节的文件...我只是想问一下,如何将该文件上的数据解析为该文件的结构
我试过这个:
Header* ParseHeader(char* filename)
{
char* buffer = new char[8];
fstream fs(filename);
if (fs.is_open() != true)
throw new exception("Couldn't Open file for Parsing Header.");
fs.read(buffer, 8);
if (!fs)
{
delete[] buffer;
throw new exception("Couldn't Read header OJN file.\nHeader data was corrupted");
}
Header* header = (Header*)((void*)buffer);
delete[] buffer;
fs.close();
return header;
}
但它失败了,并返回了比我预期的无效数据(我可以确定,这不是文件错误,文件结构正确)
有人能帮我吗?谢谢