Salut, il y a quelques soucis dans ton code, l'utilisateur peut déclencher une boucle infini s'il fait un :
strrep(string, "chaine", "chaine");
Je te propose donc d'utiliser l'argument 'pos' dans la fonction 'strpos'.
Ta fonction est pas très bien optimisé, elle utilise plusieurs fois la fonction strfind, alors qu'elle peut le faire une fois par itération de boucle.
Sinon, voici comment je verrai ta fonction :
strrep(string[], arep[], rep[])
{
new len;
new pos;
len = strlen(arep);
pos = -1;
if(len)
{
while((pos = strfind(string, arep, pos + 1)) != -1)
{
strdel(string, pos, pos + len);
strins(string, rep, pos);
}
}
}