- N'utilise pas de "using namespce std", voir:
[ Lien ]
Si tu es en C++, inutile de faire cela. Tu mélange du C avec du C++, ce n'est pas très élégant. Pourquoi ne pas utiliser directement des std::string ?
Exemple:
Code C/C++ :
#include <iostream>
std::string& replaceAll(std::string& context,
const std::string& from,
const std::string& to)
{
size_t lookHere = 0;
size_t foundHere;
while ((foundHere = context.find(from, lookHere)) != std::string::npos)
{
context.replace(foundHere, from.size(), to);
lookHere = foundHere + to.size();
}
return context;
}
int main()
{
std::string s = "Just un test pour tester un test, pouet.";
std::cout << s << std::endl;
replaceAll(s, "test", "toto");
std::cout << s << std::endl;
return 0;
}
A noter que la chaîne est remplacé directement. Donc tu peux faire une copie avant si tu le préfères.
Si tu as des contraintes qui t'oblige à utiliser des char*, alors autant le faire en C, ça sera plus pratique. (Tu seras sur de ne pas avoir de souci d'ABI).
________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
Merci d'utiliser Réponse acceptée si un post répond à votre question