Salut,

Voici une fonction qui supprime tous les caractères indésirables dans une chaîne.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
 char * str_pack_char( char * z , short c )
 { char * s = z ;
   char * str = s  ; 
 
   while( *z )
   { if( *z != c ) *s++ = *z ;
     z++;
   }
   *s = '\0' ; 
   return str ; 
 }
Une fois élaguée de ses caractères impures la chaîne ne peut que diminuer en espace mémoire. Faut-il pour autant répercuter cette diminution de l'espace mémoire dans la fonction de traitement ?