Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 04/07/2013, à 11:56

kboo

C++ construction bit par bit

Bonjour
Je cherche un moyen de construire un tableau de type char* en concaténant des unsigned char des unsigned long etc... je ne sais pas trop comment m'y prendre car ayant du char comment concaténer d'autre type dedans en préservant la taille des éléments:

ça serai un truc du genre:

char* solution;
unsigned char element1 = 0xAA;
unsigned long element2 = 0xFFFFFFFFFFFFFFFF; //µP en 64bits
solution = element1 | element2; // solution = 0xAAFFFFFFFFFFFFFFFF

Je suppose qu'il faut faire une surcharge de l'opérateur | mais comment faire pour ne pas avoir de "trou" vu que les types sont différants
Je ne peux pas faire d'Union car c'est pas toujours les même type d'éléments ou nombre d'éléments.

Help!
merci d'avance!

Dernière modification par kboo (Le 04/07/2013, à 12:03)

Hors ligne

#2 Le 04/07/2013, à 12:24

pingouinux

Re : C++ construction bit par bit

Bonjour,
Le pointeur solution doit être alloué. Tu peux ensuite utiliser memcpy pour copier les éléments un par un.

Ajouté :
Voici une façon de faire (assez rudimentaire) :

solution = (char*)malloc( sizeof(element1)+sizeof(element2) )
p = solution;
memcpy( p, &element1, sizeof(element1) ); p += sizeof(element1);
memcpy( p, &element2, sizeof(element2) ); p += sizeof(element2);

Dernière modification par pingouinux (Le 04/07/2013, à 13:48)

Hors ligne

#3 Le 04/07/2013, à 13:53

kboo

Re : C++ construction bit par bit

Merci pingouinux,
ça me parait bien smile par contre y a t'il une méthode plus "C++" car c'est très orienté C (malloc) hmm
merci encore

Hors ligne

#4 Le 04/07/2013, à 13:59

pingouinux

Re : C++ construction bit par bit

Tu peux faire l'allocation comme tu veux. Je ne suis pas un spécialiste du C++.

Hors ligne

#5 Le 04/07/2013, à 16:17

myrddin772

Re : C++ construction bit par bit

Une bonne piste se trouve ...


"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows et Ian Parberry
Si tu ne sais pas : demande, si tu sais : partage !

Hors ligne