Problème double backslash
Bonjour,
je souhaite à l'aide d'un programme simple remplacer une chaine de caractère par une autre, je souhaite remplacer par pour se faire, voici mon programme :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| #include <iostream>
#include <string>
using namespace std;
int main ()
{
string base="[coucou] [ca] [va]";
string str=base;
while ( str.find("[") < str.length() ) {
str.replace(str.find("["),1,"\[");
}
cout << str << endl;
system("PAUSE");
return 0;
} |
Lorsque j'utilise cette ligne :
Code:
str.replace(str.find("["),1,"\[");
le programme plante
Lorsque j'utilise celle ci :
Code:
str.replace(str.find("["),1,"\\[");
jobtiens :
Code:
1 2
| \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[coucou] [ca] [va]
Appuyez sur une touche pour continuer... |
quelqu'un connait-il la solution ?