搜索并替换char数组中所有出现的字符串c ++

时间:2016-02-03 02:14:41

标签: c++ arrays search replace char

我有一个char数组,我想找到特定子字符串的所有位置,然后我将用不同的东西替换所有子字符串。

例如:

char [35] = "the boy stole the cup from the table.";

1。我想打印出"the"所在的每个位置。我找到了一些像find这样的函数,但它只找到了我想要的第一个位置。我尝试使用循环,但这也没有成功。

  1. 我还想用"the"之类的内容替换"that"的所有出现 谁能告诉我如何实现这一目标。我正在使用char数组而不是字符串类。

1 个答案:

答案 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");