I'm trying to read binary data from a file using ifstream.
Specifically, I'm trying to populate this "Header" struct with data read from a file:
struct Header {
    char id[16];
    int length;
    int count;
};
- Now, if I read the file in this way, the result is exactly what I want: - input.read((char*)&hdr, sizeof(hdr));
- But if I instead read each variable of the struct manually, the results are gibberish: - input.read((char*)&hdr.id, sizeof(hdr.id)); input.read((char*)&hdr.length, sizeof(hdr.length)); input.read((char*)&hdr.count, sizeof(hdr.count));
My question is, what is happening here that makes these two methods return different results?
 
     
    