Voici la solution que je te propose...
Vu que je ne savais pas si tu faisais du C ou C++, je l'ai fait en C pour qu'il n'y ai pas de probleme.
Le principe est simple...
On se sert de la fonction strtok qui permet de découper une chaine selon un separateur défini a l'avance...
Ensuite en recupere chaque element de la chaine découpée puis on mets entre la nouvelle chaine de remplacement.
Dans mon exemple j'ai définie mes varaibles avec une atille de 1000 pour les chaines que l'on va traiter et de 50 our les séparaters... SI les tailles ne correspondent pas a tes besoins, tu n'auras cas les modifiers.
Voici le code complet que tu pourras mettre dans une fonction :
#include <stdio.h> #include <string.h> #include <iostream.h>
int main() { char * initial_str = new char[1000]; char * new_str = new char[1000]; char * strfind = new char[50]; char * strreplace = new char[50]; char * token;
*new_str = NULL;
strcpy(initial_str,"salut;;comment;;ca;;va"); strcpy(strfind,";;"); strcpy(strreplace,"; ;"); token = strtok(initial_str,strfind);
while(token!=NULL) { strcat(new_str,token); strcat(new_str,strreplace); token = strtok(NULL,strfind); }
cout << new_str << endl;
return 0; }
|
J'espere que ce bout de code te seras utile...
A++ et bonne prog ...
Samir