J'ai une fonction qui recherche un caractère dans les lignes et qui le remplace par autre chose.

long DBI_remplace_chaine_tous(char *chaine, char *rech, char *_new)
{
char *token;
char chaine_tmp[6000];
char chaine_deb[6000];
int flag;
int lng_rech;
int lng_rech_1;

/* on teste les valeurs particuliere de rech */
flag = 0;
lng_rech = (int)strlen(rech);
lng_rech_1 = lng_rech - 1;

if (lng_rech == (size_t) 0) return(TRUE);

if (rech[0] == '^') flag = 1;
if (rech[lng_rech_1] == '$') flag = 2;


switch(flag)
{
case 0:
strcpy(chaine_deb,chaine);
token = strstr(chaine_deb, rech);
if (token == (char *)0) return(FALSE);

strcpy(chaine_tmp,"");
do
{
chaine_deb[strlen(chaine_deb) - strlen(token)] = 0;
strcat(chaine_tmp, chaine_deb);
strcat(chaine_tmp, _new);

/* on est sûr que lng_rech est inférieur à strlen(token)
car token contient rech_tmp */

strcpy(chaine_deb,token+lng_rech);

token = strstr(chaine_deb,rech);

if (token == (char *)0)
{
strcat(chaine_tmp,chaine_deb);
break;
}

} while (token != NULL);

break;

case 1:
if (lng_rech_1 <= 0) return(FALSE);

strcpy(chaine_tmp, _new);
strcat(chaine_tmp, chaine + lng_rech_1);

break;

case 2:
if (lng_rech_1 <= 0) return(FALSE);

strcpy(chaine_tmp, chaine);
strncpy(chaine_tmp + (strlen(chaine) - lng_rech_1) , _new , lng_rech_1);

break;
}


strcpy(chaine, chaine_tmp);

return(TRUE);
}
y te reste plus qu'a l'appeler dans ton programme