Originariamente inviato da MItaly
E pensare che da quando l'ho scritta ho sempre usato questa funzione senza mai accorgermi dell'errore... non la usavo mai sostituendo una stringa con un'altra che la contiene...
codice:
//Replaces all the instances of search with replace in string; returns the number of substitutions done
unsigned int ReplaceString(std::string & string,const std::string & search,const std::string & replace)
{
	unsigned int ret=0;
	for(std::string::size_type pos=string.find(search);pos!=string.npos;ret++,pos=string.find(search,++pos))
	{
		if(search.length()>replace.length())
			string.erase(pos,search.length()-replace.length());
		if(search.length()<replace.length())
			string.insert(pos,replace.length()-search.length(),' ');
		string.replace(pos,replace.length(),replace);
		pos+=replace.length();
	}
	return ret;
}
Grande! Grazie davvero.