String replace und

The_Rave

Mitglied
Ich wollte eine Stelle in einer HTML Seite die in einem Buffer liegt bearbeiten.

Code:
//Suchen und ersetzen von php Fragezeichen im Link zum lokalen Speichern der Datei
						
size_t endPosNewUrl = urlBuffer.find("?", 0);
if (endPosNewUrl!=string::npos)
	{
        //neue URL erstellen
	urlBuffer.erase(endPosNewUrl);
        
        //URL ersetzen
	webSiteBuf.replace (startPos, urlBuffer.length(), urlBuffer);
	}

Das merkwürdige ist obwohl der neue String eigentlich kürzer ist als das was ersetzt wird, wird der nachfolgende Teil der nicht überschrieben werden soll auch noch überschrieben. Gibts da noch eine Möglichkeit mit replace oder muss ich das über erase und insert machen?
 
Nach einigen suchen bin ich jetzt selber drauf gekommen. Ich hatte den String vorher schon manipuliert und somit stimmte die länge nicht mehr.
 
Zurück