Substitua char em string por alguma string inplace


Eu quero substituir um caractere na string com uma string. posso fazer isso no local? Como a nova string tem comprimento maior que a string original. A pergunta é que posso fazer com o uso de buffer adicional? por exemplo

<code>void replaceChar(std::string &input, std::string replacementString, char charToReplace)
{
//some code here. No additional buffer
}

void main(){

  std::string input = "I am posting a comment on LinkedIn";
  std::string replacementString = "pppp";
  char charToReplace = 'o';
  replaceChar(input, replacementString, charToReplace);
}
</code>

Eu só quero a estratégia (algoritmo). seria bom se o algoritmo fosse projetado mantendo alguma linguagem em mente que não aumentasse ou diminuísse dinamicamente o tamanho da string depois que ela fosse iniciada como c ++

questionAnswers(4)

yourAnswerToTheQuestion