编写一个函数,功能为将字符串s中的字符c1用字符c2替换,并加以调用。
时间: 2024-10-20 12:17:46 浏览: 30
c语言将字符串中的小写字母转换成大写字母
5星 · 资源好评率100%
你可以定义一个名为`replaceChar`的函数,这个函数接受三个参数:原始字符串`s`,要查找并替换的目标字符`c1`,以及新的替代表达式`c2`。这里是一个简单的C++实现:
```cpp
#include <string>
// 函数模板,用于替换字符串中的指定字符
template<typename CharT, typename Traits, typename Alloc = std::char_traits<CharT>>
std::basic_string<CharT, Traits, Alloc> replaceChar(const std::basic_string<CharT>& s, CharT c1, CharT c2) {
std::basic_string<CharT, Traits, Alloc> result(s);
size_t pos = 0;
while ((pos = result.find(c1, pos)) != std::string::npos) {
result.replace(pos, 1, static_cast<CharT>(c2));
pos += 1; // 继续搜索下一个位置
}
return result;
}
int main() {
std::string str = "Hello, world!";
char oldChar = 'o';
char newChar = '*';
std::string replacedStr = replaceChar(str, oldChar, newChar);
std::cout << "Original string: " << str << "\n";
std::cout << "Replaced string: " << replacedStr << "\n";
return 0;
}
```
在这个例子中,我们使用了C++的`std::string`库的`find`和`replace`方法来遍历字符串并找到所有出现的`c1`,然后用`c2`替换它们。
阅读全文