bonjour
Voici un un morceau de code qui réorganise une chaine de caractères(numéro de téléphone) en ajoutant des espaces s'il n'y en a pas.
ex : 12345678 : 12 34 56 78 // 123456789 : 1 23 45 67 89( chaine impaire).
Code C/C++ :
char * ret;
int n = strlen(chaine);
int i,j;
int compteur;
ret=malloc(sizeof(*ret) * (n + n / 2 + 1));
compteur = n % 2;
for(j=0, i=0;chaine[i]; i++, j++)
{
ret[j] = chaine[i];
compteur++;
if (compteur == 2)
{
compteur = 0;
ret[j+1] = '-';
j++;
}
}
ret[j-1] = '\0';
ici c'est toute la chaine qui est modifiée.
je voudrai maintenant pouvoir modifier la chaine si une sous chaine(entre les espaces) dépasse 4 caractères, une modification partielle en fait!
01
45345 123 1234 : 01
4 53 45 123 1234 (sous chaine paire)
01124 12
1345673 1234 :
0 11 24 12
1 34 56 73 1234 (sous chaine impaire)
j'espere avoir été assez clair. des idées?
merci