Some guidance needed

B

bostonmegarocker

Hi to all?

For the past couples of weeks I have been programming to make a
program that reads a binary file and produces the equivalent text
file.

The idea is that each byte in the file represents a temperature that
can only go from 0 to 255. So I start by reading the file in to a
character array, and the do an int casting to obtain the value of each
file, so my code is something like this:

ifstream inFile("binary.dat");
ofstream outFile("binary.txt");

inFile.seekg(0, ios::end);
int size = inFile.tellg();
inFile.seekg(0, ios::beg);
char charArray[size];

inFile.read(charArray, size);

for(int= 0; i<size; i++)
{
outFile << (int)charArray <<endl;
}

.... etc ...

I expected the output to range from 0 to 255, but I get values from
-128 to 127!!? and if I use (unsigned int) instead of (int) the output
is even worst.

Is there a better way to see what is the integer equivalent that each
byte holds ?

Regards,
Alexis
_______________________
(e-mail address removed)
 
B

bostonmegarocker

Thanks Min,
That worked for me. I really appreciate your help.
- alexis

Min said:
I assumed that 0-255 means, you don't have negative value.
Then try "unsigned char"

bostonmegarocker said:
Hi to all?

For the past couples of weeks I have been programming to make a
program that reads a binary file and produces the equivalent text
file.

The idea is that each byte in the file represents a temperature that
can only go from 0 to 255. So I start by reading the file in to a
character array, and the do an int casting to obtain the value of each
file, so my code is something like this:

ifstream inFile("binary.dat");
ofstream outFile("binary.txt");

inFile.seekg(0, ios::end);
int size = inFile.tellg();
inFile.seekg(0, ios::beg);
char charArray[size];

inFile.read(charArray, size);

for(int= 0; i<size; i++)
{
outFile << (int)charArray <<endl;
}

... etc ...

I expected the output to range from 0 to 255, but I get values from
-128 to 127!!? and if I use (unsigned int) instead of (int) the output
is even worst.

Is there a better way to see what is the integer equivalent that each
byte holds ?

Regards,
Alexis
_______________________
(e-mail address removed)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,766
Messages
2,569,569
Members
45,043
Latest member
CannalabsCBDReview

Latest Threads

Top