Exclure des caracteres d'une chaine.


Contenu du snippet

/*
   Exclue de la chaîne string tous les caractères 
   contenus dans la chaîne e.
   Les modifications sont effectuées à même la chaîne 
   originale ce qui signifie qu'elle sera modifiée.
 
   Exemple d'utilisation:
   char test[] = "Bonjour les amis";
   exclchrs(test, "oes");
 
   test contiendra:
   "Bnjur le ami"
 */
 char *exclchrs (char *string, char *e)
 {
   char *c, *p;
 
   if(!string || !e || !*e) return 0; // <- À retirer dans un code sûr
 
   c = string;
 
   while(*c) {
     p = e;
 _exclchrs_loop:
     if(*p == *c) { ++c; continue; }
     if(*++p) goto _exclchrs_loop;
 
     *string++ = *c++;
   }
 
   *string = 0;
 
   return string; // Retour sur 0 de fin de chaîne
 }

Compatibilité : C

Disponible dans d'autres langages :

A voir également