copy char ind i int16
har den her smule kodevoid gameserver::newxy(char * newloc, DWORD ptr)
{
CConnection* c = reinterpret_cast <CConnection*> (ptr);
char cip[15];
unsigned int cp = 0;
c->PeerInfo (&cip[0], 15, &cp);
PacketLog((unsigned char*)&newloc[0], strlen(newloc));
// her og ned går den galt....
int16 myx = (int16)(char *)&newloc;
int16 myy = (int16)(char *)&newloc[sizeof(myx)];
Log2File(TRUE, "New X/Y : %i / %i\n", myx, myy);
updatexy(cp, myx, myy);
return;
}
okay, den får en char*newloc der hedder:
[C3 7F] [68 80]
har markeret de 3 buffere jeg skal bruge:
int16 (omvendt, skal bruge den som 7F C3)
int16 (omvendt, skal bruge den som 80 68)
har prøvet noget med 10 forskellige metoder, includeret atoi, htons, og så videre osv, søgte lidt om det, men kunne ikke rigtig finde et svar nogen steder..
hvad gør jeg forkert ?
7FC3 = 32707, men jeg får en value i myx der hedder 63004 (o.o)
takker.