Zamień znak w łańcuchu na jakiś ciąg w miejscu
Chcę zastąpić znak w ciągu ciągiem. czy mogę to zrobić na miejscu? Ponieważ nowy ciąg ma długość większą niż oryginalny ciąg. Pytanie brzmi, czy mogę to zrobić przy użyciu dodatkowego bufora? na przykład
<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>
Chcę tylko strategii (algorytmu). dobrze by było, gdyby algorytm był zaprojektowany z myślą o pewnym języku, który nie będzie dynamicznie zwiększał ani zmniejszał długości łańcucha po zainicjowaniu, jak c ++