ふつうに動くと思うが
#include<fstream>
#include<iostream>
using namespace std;
#define FILENAME "f.dat"
struct HEAD
{
    int data[10];
    int data2[10];
};
int main(void)
{
    std::ifstream file(FILENAME);
    HEAD head;
    if(!file){
        cout << "cannnot open." << endl;
    }
    file.read(reinterpret_cast<char*>(&head),sizeof(head));
}