Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

HALP

Name: Anonymous 2007-02-10 18:58

char temp4[3];
unsigned long int FileStart;
FileStart = (temp4[3] << 24) | (temp4[2] << 16) | (temp4[1] << 8) | (temp4[0]);

This was supposed to take four bytes and turn them into a long int. How do I do this so that the << doesn't turn every byte other than the first one into 'FF'?

Name: Anonymous 2007-02-11 6:08

>>16
Partially wrong.
char a[x] is NOT the same as char* a = "hey";
The first creates the the string of bytes on the stack, including terminating null. The second merely assigns a pointer variable (4 bytes or however wide it is on your system) to a string "hey\0" which will usually be created in the .data section.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List