Okay, I need to read in a binary file from stdin and stick it in an array. The file contains binary representations of floating point numbers. I need to make sure that my array is sized properly based on the number of elements. It is quite easy to do with if stream as follows
ifstream file("infile.bin", ios::binary | ios::ate); // Since we are at the end, we can get the size //file.seekg(0,ifstream::end); long size = file.tellg(); cout << size; file.seekg(0, ios::beg); //Seek back to the beginning float* unsorted; //Size input and read the file into it unsorted = new float[size]; file.read((char*)unsorted, size); file.close(); // Change size so it is the number of floats instead of // the number of characters size = size / 4;
However, I need this to work with a simple redirection, such as
program < infile.bin
I just can't seem to get anything that works. I appreciate your help.