salut ,
vous pouvez travailler avec les pointeurs, ça vous aidra de trouver ta chaine finale,
voici la modification que j ai fait sur votre prog.
int main()
{
char * fic, *pnt ; // j ai ajouter un pointeur "pnt"
printf("entrer une chaine");
gets(fic);
pnt = fic; //pnt porte la même adresse de votre chaine while(pnt!(strlen(fic)+fic+1) //tester si pnt à l' adresse de derniere caractere
{ if(*pnt 'a') *pnt 'b';
pnt++;
}
printf("%s", fic);
getch();
return 0;
}
while(pnt!= (strlen(fic)+fic+1)
l'adresse de fin (le termainateur NULL) est à: fic + strlen(fic), SANS le + 1.
Ne pas mettre strlen() en boucle, sera recalculé à chaque tour. Avec pointeur, aucun besoin du tout, voir plus haut.
gets(fic); // fic oublie toujours de pointer sur un buffer.