It's possible to write char reading much more easier.
char c[9];
in.read( reinterpret_cast<char*>(&c), sizeof(c) );