Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.

Attention, une faille de sécurité dans bash a récemment été rapportée, il est recommandé de mettre à jour son système (plus de détails) *** mise à jour 12/10/2014 ***

#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)

En 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++.

En 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

Haut de page ↑