Décalage tableau

azerttyka Messages postés 14 Date d'inscription lundi 31 mars 2008 Statut Membre Dernière intervention 21 avril 2008 - 2 avril 2008 à 10:51
Cyr62110 Messages postés 65 Date d'inscription vendredi 10 février 2006 Statut Membre Dernière intervention 21 octobre 2009 - 4 avril 2008 à 17:35
bjr
comment je peux décaler  tous les elts d'un tableau dans une seule case

10 réponses

cs_jfrancois Messages postés 482 Date d'inscription vendredi 26 août 2005 Statut Membre Dernière intervention 5 décembre 2009 2
2 avril 2008 à 13:14
Il faut une grosse case alors

Jean-François
0
azerttyka Messages postés 14 Date d'inscription lundi 31 mars 2008 Statut Membre Dernière intervention 21 avril 2008
2 avril 2008 à 14:13
très drôle .En fait j'en ai besoin du contenu de cette case pour le concaténer avec une autre chaine
0
cs_jfrancois Messages postés 482 Date d'inscription vendredi 26 août 2005 Statut Membre Dernière intervention 5 décembre 2009 2
2 avril 2008 à 14:25
Il faudrait un petit exemple ! c'est pas très clair comme demande.
Ce sont des éléments type chaîne de caractères à concaténer ensemble ?

Jean-François
0
azerttyka Messages postés 14 Date d'inscription lundi 31 mars 2008 Statut Membre Dernière intervention 21 avril 2008
2 avril 2008 à 17:31
Salut
voici le résultat de l'éxécution de mon prog
2A 27 1F 22 11 3C A53 25 3B 2C 11 40 58 24 .....
En fait,
1) je dois d'abord idenitifier le tag 2A (en héxa),
2) le nbre ki suit représente la longueur de tte la réponse(27).
3) Ensuite je dois  identifier le nbr A5 et sa long ki é 3 ,
3) extraire les 3 elts 
4) le concaténer avec une autre donnée exp: 5.
5) je dois envoyer finalement 25 3B 2C 5 à la prochaine commande
6) Mon idée é d'extraire la séq dt g besoin de la mettre ds untab puis  ds une case
Merci
0

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

Posez votre question
azerttyka Messages postés 14 Date d'inscription lundi 31 mars 2008 Statut Membre Dernière intervention 21 avril 2008
2 avril 2008 à 17:34
les elts sont du type unsigned char
0
cs_jfrancois Messages postés 482 Date d'inscription vendredi 26 août 2005 Statut Membre Dernière intervention 5 décembre 2009 2
2 avril 2008 à 17:51
Ce résultat est disponible comment ? C'est un tableau du genre :
unsigned char tab[???] = {2A,27,1F,22,11,3C,A5,3,25,3B,2C,11,40,58,24,...};

Jean-François
0
Cyr62110 Messages postés 65 Date d'inscription vendredi 10 février 2006 Statut Membre Dernière intervention 21 octobre 2009
2 avril 2008 à 21:46
Concatener des nombres hexa stockés sous forme de chaine de caractére :
unisgned char *elts_fin;
elts_fin = (unsigned char*)malloc((debut_concat-fin_concat+1)*sizeof(char))
for(int i=debut_concat;i<fin_concat+1;i++)
{
elts_fin[i-debut_concat] = elst[debut_concat];
}
elts_fin[i-debut_concat+1] = (char)NULL;
avec elts_fin la chaine contenant les elts concatenés,
debut_concat : la position du debut de ta concatenation dans ta chaine,
fin_concat : la postion de fin de concatenation dans ta chaine.
Voila t'as plus qu'as copier dans ton tableau. Et ne pas oublier free(elts_inf);
Bye
0
azerttyka Messages postés 14 Date d'inscription lundi 31 mars 2008 Statut Membre Dernière intervention 21 avril 2008
3 avril 2008 à 17:34
merci de votre aide  
j'ai pas bien compris le rôle de   " (char)NULL;"
merci
0
cs_jfrancois Messages postés 482 Date d'inscription vendredi 26 août 2005 Statut Membre Dernière intervention 5 décembre 2009 2
3 avril 2008 à 17:45
C'est le zéro binaire de fin de chaîne de caractères.
 
Il serait plus logique d'écrire elts_fin[...] = 0; car NULL (qui est aussi un zéro binaire) est la constante à utiliser pour la gestion des pointeurs !

Jean-François
0
Cyr62110 Messages postés 65 Date d'inscription vendredi 10 février 2006 Statut Membre Dernière intervention 21 octobre 2009
4 avril 2008 à 17:35
Il me sert juste a me rapeler que j'ai bien mis le zero de fin de chaine. Mais bon, sinon tu as parfaitement raison jfrancois.
Bye
0