au lieu de faire
ret += parentNode->GetValue();
tu peux faire
1 2 3 4
|
...
// Une list a la place d'une string pour ret
ret.Add(parentNode->GetValue()); |
à la fin
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
// la tu comptes la taille de la chaîne
int t_size(0);
ret.Start();
for(int i=ret.Nbe();i--;)
{
t_size+=(*ret)->size();
ret++;
}
// tu créer ta chaîne
char *_final=new char[t_size+1];
char *pt_final=_final;
// tu remplis la chaîne via memcpy
int t_size_s;
ret.Start();
for(int i=ret.Nbe();i--;)
{
t_size_s=(*ret)->size();
memcpy(pt_final,((char *)(*ret)),t_size_s);
pt_final+=t_size_s;
ret++;
}
// tu indiques que c'est une chaîne, et donc la fin de celle ci.
*pt_final='\0';
// ne pas oublier
delete [] _final; |
C'est un speudo algo !!
Bon ok j'avoue je suis fan des char * et du C
Partager