我有一个char数组,我想找到特定子字符串的所有位置,然后我将用不同的东西替换所有子字符串。
例如:
char [35] = "the boy stole the cup from the table.";
1。我想打印出"the"
所在的每个位置。我找到了一些像find
这样的函数,但它只找到了我想要的第一个位置。我尝试使用循环,但这也没有成功。
"the"
之类的内容替换"that"
的所有出现
谁能告诉我如何实现这一目标。我正在使用char数组而不是字符串类。答案 0 :(得分:0)
Try this function . i think it will work.
void find_and_replace(string& source, string const& find, string const& replace)
{
for(string::size_type i = 0; (i = source.find(find, i)) != string::npos;)
{
source.replace(i, find.length(), replace);
i += replace.length();
}
}
content = "this is c++ programming";
find_and_replace(content, "c++", "java");