string str = "one three";
string::iterator it;
string add = "two ";
假设我想在“一个”空格后面添加:“两个”。 空间是str [3]正确吗?所以:在这种情况下,n = 3;
for (it=str.begin(); it < str.end(); it++,i++)
{
if(i == n)
{
// insert string add at current position
break;
} // if at correct position
} // for
*它允许我访问str [3]中的字符,但我不知道如何从那里添加字符串。任何帮助表示赞赏,谢谢。如果有什么令人困惑或不清楚请告诉我
答案 0 :(得分:2)
使用std::string::insert
。 <或者
str.insert(n, add);
或使用以下更通用的版本,适用于任何容器(不仅仅是std::string
)。
str.insert(str.begin() + n, add.begin(), add.end());
答案 1 :(得分:1)
您可以使用字符串类的insert
方法。
string str = "one three";
string add = "two ";
str.insert(4,add); // str is now "one two three"
答案 2 :(得分:1)
string::iterator it = str.begin() + 4;
str.insert(it, add.begin(), add.end());