bonjour,
j'ai un pointeur qui pointe sur 64 case memoire c_à_d que je stock une chaine de 64 caractéres alors je veut extraire la chaine de caractére et la divise sur 4 vatiable comme suit T1[16],T2[16] ,T3[16] et T4[16] et l'afficher![]()
bonjour,
j'ai un pointeur qui pointe sur 64 case memoire c_à_d que je stock une chaine de 64 caractéres alors je veut extraire la chaine de caractére et la divise sur 4 vatiable comme suit T1[16],T2[16] ,T3[16] et T4[16] et l'afficher![]()
et ? quelle est ta question ?![]()
A priori, comme tu l'as mentionné, il suffit d'affecter à T1 les 16 premiers caractères, à T2 les 16 suivants etc. Je pense que la réponse à ton problème est dans ton propre message...
le probléme est que lorsque je fait le boucle de 0 jusqu'a strlen(mon pointeur) et je fait affichage seulement seulement le premier tableu est juste les autr sont faut
on peut voir ton code ?
for (i=0;i<16;i++)
{
T1[i]=Buffer[i];
T2[i]=Buffer[i+16];
T3[i]=Buffer[i+32];
T4[i]=Buffer[i+44];
}
1)
Que viennent faire ici ces choses (que j'ai mis en rouge) ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 for (i=0;i<16;i++) { T1[i]=Buffer[i]; T2[i+16]=Buffer[i+16]; T3[i+32]=Buffer[i+32]; T4[i+44]=Buffer[i+44]; }
(EDIT : Apparemment, t'as édité entre temps.)
* 32 + 16 ne fait pas 44.
2) Tes 4 tableaux doivent chacun avoir une taille de 17. Une chaine de caractères se finit toujours par un '\0'... qu'il faut donc ajouter également.
Pourquoi cette boucle ? memcpy le fait pour toi !!!
Code c : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 memcpy(T1, buffer, 16); memcpy(T2, buffer + 16, 16); memcpy(T3, buffer + 32, 16); memcpy(T4, buffer + 48, 16);
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
Partager