I know how much they hold. I want to read in from a file 4 bytes and alter their values and then write them back out to another file in hex untill bytes <4 would that work with an array?
I think it depends on how you are going to manipulate the values, what is more easy to handle.
If you decide not to use a char array you might want to use a fixed length type like std::unit32_t from <cstdint> because int is not 4 bytes everywhere.