#include
#include
#include
#include
int main()
{
std::ifstream file(\"data.bin\", std::ios::bin
The class std::istreambuf_iterator
iterates over the characters extracted from a std::basic_istream
or, actually, its std::basic_streambuf
. That is, given a specific stream type, there is no choice for the std::istreambuf_iterator
. Also note that the IOStream layer is not intended to operate on binary files, despite the std::ios_base::binary
operation which is passed to the stream buffers.
If you want to extract short
s (or any other type than the stream's character type) you'd need to create a suitable iterator yourself which takes the chosen binary format the file was written in into account. This iterator can be built in terms of std::istreambuf_iterator
or directly access the std::streambuf
.