Conversion d'adresse en char ?

cs_supergrey Messages postés 475 Date d'inscription vendredi 27 juin 2003 Statut Membre Dernière intervention 20 septembre 2010 - 17 avril 2004 à 14:54
cs_supergrey Messages postés 475 Date d'inscription vendredi 27 juin 2003 Statut Membre Dernière intervention 20 septembre 2010 - 17 avril 2004 à 16:39
Bonjour, voila mon probleme:
Dans mon programme j'ai un tableau:
VOID* szTemp[256]

qui contient des trucs du genre:
0xcccccc59
0xccccccb2
0xcccccc3d

je voudrais récupérer juste les deux dernier caractères:
"59"
"b2"
"3d"

Comment puis-je faire silvousplais?
Merci!

13 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
17 avril 2004 à 15:15
tu n'a rien a faire, si tu veux récupérer les 2 octets de droite:

char a = (char)szTemp[0]
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
17 avril 2004 à 15:34
convertit (int)szTemp[0] en chaine de caractere et en base 16 et tu recupere les 2 dernier caracteres de la chaine
0
cs_supergrey Messages postés 475 Date d'inscription vendredi 27 juin 2003 Statut Membre Dernière intervention 20 septembre 2010
17 avril 2004 à 15:39
Et si je veux faire le contraire l'opération inverse?
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
17 avril 2004 à 15:43
pour convertir une chaine en adresse tu la converti en int apres tu l'affecte au pointeur en faisant
szTemp[0]=(void *)n; // n est un int
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
17 avril 2004 à 15:46
est-ce que 59 est un char ou bien une chaine?
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
17 avril 2004 à 16:04
ben moi je pensais a une chaine vu qu'il a mi "59"
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
17 avril 2004 à 16:06
ouais, mais te titre de la question prête à confusion
0
cs_supergrey Messages postés 475 Date d'inscription vendredi 27 juin 2003 Statut Membre Dernière intervention 20 septembre 2010
17 avril 2004 à 16:07
C'est en supposant que j'applique la méthode de vecchio:
char a = (char)szTemp[0]

donc je me retrouve avec des char et je veux faire l'opération inverse
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
17 avril 2004 à 16:09
szTemp[0]=(void *)a;
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
17 avril 2004 à 16:10
enfin en faisant comme ca tu perd l'information sur les 3 derniers octets
0
cs_supergrey Messages postés 475 Date d'inscription vendredi 27 juin 2003 Statut Membre Dernière intervention 20 septembre 2010
17 avril 2004 à 16:19
les 3 derniers??
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
17 avril 2004 à 16:32
les trois octets de gauche, mais je pense qu'ils sont mis à zéro
0
cs_supergrey Messages postés 475 Date d'inscription vendredi 27 juin 2003 Statut Membre Dernière intervention 20 septembre 2010
17 avril 2004 à 16:39
en fait ca me donne 0x00000023 a la place de 0xcccccc23
mais c'est pas un probleme au fait si vous vous embétez testez mon jeu ( www.fullversion.fr.st )
0
Rejoignez-nous