Hi everyone,
I am trying to make a simple program that will read
a file like a matrix of ints.
The idea is that there is a binary file with ints:
1 2 3 4 5 6 7 8 9
and I want to read them in a buffer 3 ints at a time, and then print
them sepparated by spaces. Then I want to read then next 3 integers.
However when I try the reinterpret cast on a buffer of 12 chars.. I
get into problems. Any help appreciated.
Ted
I have this so far:
Code:#include <iostream> #include <fstream> #include <vector> const static int BUF_SIZE = 4; // 4 * num of ints using std::ios_base; int main(int argc, char** argv) { std::ifstream file("InvDat.dat", ios_base::in | ios_base::binary); char buf[BUF_SIZE]; if(file.is_open()) { while (file.read(&buf[0], BUF_SIZE)) { for (uint32_t i = 0; i < 3; ++i) { uint32_t *num = reinterpret_cast<uint32_t* >(&buf[0]); std::cout << (uint32_t) *num << " "; } std::cout << std::endl; } file.close(); } return 0; }