如何用C++编写一个名为delChar的函数,该函数接受两个参数:一个字符串s1和一个字符s2,目标是从字符串s1中删除所有出现的字符s2?
时间: 2024-12-18 11:38:12 浏览: 18
在C++中,可以使用标准库中的`std::remove_if`和`std::copy`来创建一个名为`delChar`的函数,它接受一个字符串`std::string s1`和一个字符`s2`作为参数,从`s1`中移除所有的`s2`。以下是这个函数的一个简单实现:
```cpp
#include <iostream>
#include <algorithm>
#include <string>
// 函数模板,移除给定字符串中的特定字符
template<typename CharType>
std::string delChar(const std::string& s1, CharType s2) {
std::string::size_type start = 0; // 保留部分的开始位置
std::string result;
while (start < s1.length()) {
if (s1[start] != s2) { // 如果不是要移除的字符,添加到结果
result += s1[start];
} else { // 否则,跳过当前字符
start++;
}
}
return result;
}
int main() {
std::string str = "Hello, World!";
char delimiter = ',';
std::string newStr = delChar(str, delimiter);
std::cout << "Original string: " << str << std::endl;
std::cout << "New string after removing '" << delimiter << "': " << newStr << std::endl;
return 0;
}
```
这个`delChar`函数遍历输入的字符串`s1`,如果遇到的字符不是`s2`,就将其添加到新的字符串`result`中。当找到`s2`时,直接跳过剩余的字符直到下一个非`s2`字符。
阅读全文