Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

rzutowanie

Ostatnio zmodyfikowano 2011-07-06 21:45
Autor Wiadomość
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.
P-35452
DejaVu
» 2011-07-06 21:39:09
C/C++
char * x = new char[ 4 ];
int * y = reinterpret_cast < int *>( x );
printf( "y = %d\n", * y );
delete[] x;
P-35453
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:
C/C++
#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:
C/C++
#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();
}
P-35454
« 1 »
  Strona 1 z 1