J'essaye d'imprimer la valeur pointée par une adresse mais le problème est que je dois déréférencer ce pointeur basé sur la taille qui est passée à moi. Donc quelque chose de ce genre:Comment puis-je déréférencer en fonction de la taille?
void print(Address addr, Int size) {
...
}
Je suis un peu confus sur la façon d'y parvenir. Quelqu'un peut me diriger dans la bonne direction?
EDIT: Ok donc je pense:
char p[80];
memset(p, '\0', 80);
memcpy(p, addr, size);
Et puis déréférencement comme * p. S'il y a un meilleur moyen ou un moyen correct, s'il vous plaît faites le moi savoir
Pouvez-vous élaborer un peu - voulez-vous dire que parfois vous voulez déréférencer le pointeur comme un int de 32 bits (disons si size == 4) et parfois comme un int de 64 bits (if size == 8)? Ou êtes-vous après quelque chose d'autre? –
@Michael: C'est vrai. J'essaie d'imprimer la représentation hexadécimale de ces nombres. – Legend