Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   C++ (http://www.velocityreviews.com/forums/f39-c.html)
-   -   Some guidance needed (http://www.velocityreviews.com/forums/t267892-some-guidance-needed.html)

bostonmegarocker 06-30-2003 08:05 PM

Some guidance needed
 
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[i] <<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
_______________________
bostonmegarocker@yahoo.com

Min 06-30-2003 08:20 PM

Re: Some guidance needed
 
I assumed that 0-255 means, you don't have negative value.
Then try "unsigned char"

"bostonmegarocker" <bostonmegarocker@hotmail.com> wrote in message
news:6cb461a8.0306301205.11628021@posting.google.c om...
> 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[i] <<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
> _______________________
> bostonmegarocker@yahoo.com




bostonmegarocker 07-01-2003 10:23 PM

Re: Some guidance needed
 
Thanks Min,
That worked for me. I really appreciate your help.
- alexis

"Min" <nobody@home.com> wrote in message news:<fY0Ma.327717$ro6.7915627@news2.calgary.shaw. ca>...
> I assumed that 0-255 means, you don't have negative value.
> Then try "unsigned char"
>
> "bostonmegarocker" <bostonmegarocker@hotmail.com> wrote in message
> news:6cb461a8.0306301205.11628021@posting.google.c om...
> > 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[i] <<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
> > _______________________
> > bostonmegarocker@yahoo.com



All times are GMT. The time now is 05:12 PM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.