I have a bitmap image that I am parsing and I need to be able to open the file and store the first unsigned short.
I tried to accomplish this using FILE and fscanf() but fscanf() always fails and returns 0 (number of items successfully read).
FILE *pFile = fopen ( fileName->c_str() , "r" );
if ( pFile == NULL )
{
cerr << "couldn't open file ; exiting..." << endl;
exit(0);
}
unsigned short seed;
fscanf (pFile, "%hu", &seed);
Does anyone know of another approach I could take (possibly ifstream?) or maybe could just give me some pointers? Any help would be greatly appreciated.
Thank you.
Don’t use the formatted functions like *scanf; they expect character representations of the data, the complement of the *printf functions which translate values into character representations.
The biggest caveat of this is how the file was written. If the endianness of the writer is different than the computer this runs on, then explicit endian code should be used instead: