我的意思是在编辑器中打开插入键的方式。
所以有这样的字符串:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
效果将是:
~~~~~~~~~~Hello!~~~~~~~~~~~~~~~~~~
那就是不改变字符串的长度。
std::string
使用的成员函数的几个重载之一来覆盖字符串的一部分replace
,例如:
string str = "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~";
string rep = "Hello!";
cout << str.replace(5, rep.size(), rep) << endl;
你可以在 ideone [link]上玩这个例子。
最简单的解决方案可能是使用std::copy
适当的迭代器:
std::copy( newText.begin(), newText.end(), str.begin() + n );
只要确保目标字符串足够大。