rzutowanie
Ostatnio zmodyfikowano 2011-07-06 21:45
yoogi Temat założony przez niniejszego użytkownika |
rzutowanie » 2011-07-06 21:32:12 Witam, mam pewien problem z rzutowaniem, a właściwie mam 4 zmienny typu char i chcę z nich zrobić inta. Nie chodzi mi o ciąg tekstowy tylko ogólna wartość zmiennej. Tak jak rozbija się zmienną typu int na 4 zmienne typu char. |
|
DejaVu |
» 2011-07-06 21:39:09 char * x = new char[ 4 ]; int * y = reinterpret_cast < int *>( x ); printf( "y = %d\n", * y ); delete[] x; |
|
yoogi Temat założony przez niniejszego użytkownika |
» 2011-07-06 21:45:40 Chyba coś robię bo za każdym razem wypisuję inny wynik, a kod mam taki: #include <cstdio> int main() { int a = 0x80818283; unsigned char * b = reinterpret_cast < unsigned char *>( & a ); printf( "%i\n", a ); printf( "%i %i %i %i", b[ 0 ], b[ 1 ], b[ 2 ], b[ 3 ] ); getchar(); char * x = new char[ 3 ]; int * y = reinterpret_cast < int *>( x ); delete[] x; printf( "%i", y ); getchar(); }
#Edit. Głupi błąd nie wskazałem co ma zostać zrzutowane. A oto kod: #include <cstdio> int main() { int a = 0x80818283; unsigned char * b = reinterpret_cast < unsigned char *>( & a ); printf( "%i\n", a ); printf( "%i %i %i %i", b[ 0 ], b[ 1 ], b[ 2 ], b[ 3 ] ); int * y = reinterpret_cast < int *>( b ); printf( "%i", * y ); getchar(); }
|
|
« 1 » |