小编ang*_*ins的帖子

C++读取二进制数据到struct

我正在阅读一个二进制文件,我知道它的结构,我试图放入一个结构但是当我来读取二进制文件时,我发现当它单独打印出结构时,它似乎正确但是然后在第四次阅读时,它似乎将它添加到上次读取的最后一个成员.

这里的代码可能比我解释它更有意义:

STRUC

#pragma pack(push, r1, 1)
struct header
{
    char headers[13];
    unsigned int number;
    char date[19];
    char fws[16];
    char collectversion[12];
    unsigned int seiral;
    char gain[12];
    char padding[16];

};
Run Code Online (Sandbox Code Playgroud)

主要

  header head;
  int index = 0;
  fstream data;
  data.open(argv[1], ios::in | ios::binary);
  if(data.fail())
    {
      cout << "Unable to open the data file!!!" << endl;
      cout << "It looks Like Someone Has Deleted the file!"<<endl<<endl<<endl;
      return 0;

    }
   //check the size of head
   cout << "Size:" << endl;
   cout << sizeof(head) …
Run Code Online (Sandbox Code Playgroud)

c++ binary alignment

0
推荐指数
1
解决办法
523
查看次数

标签 统计

alignment ×1

binary ×1

c++ ×1