编写一个函数,接受一个字符串和一个字符作为参数,使用指针操作在原字符串中删除所有指定的字符
时间: 2024-12-25 16:36:40 浏览: 3
在C++中,你可以编写一个函数,利用指针来遍历输入字符串并删除指定的字符。下面是一个简单的示例:
```cpp
#include <iostream>
#include <string>
void removeChar(std::string* str, char target) {
std::size_t currentIndex = 0; // 指针初始位置
while (*str) { // 遍历整个字符串
if (*str != target) {
str->data()[currentIndex] = *str; // 如果不是目标字符,复制到新位置
currentIndex++; // 更新指针位置
}
++str; // 移动指针到下一个字符
}
*str = '\0'; // 结束字符串,设置空终止符
}
int main() {
std::string str = "Hello, World!";
char charToRemove = 'o';
removeChar(&str, charToRemove);
std::cout << "Modified string: " << str << std::endl;
return 0;
}
```
在这个例子中,`removeChar` 函数接收一个指向字符串首地址的指针 `str` 和一个字符 `target`。它通过更新指针的位置,将非目标字符复制到新的位置,直到遍历完整个字符串。注意,这里我们假设输入字符串是有效的,并且在处理过程中不会越界。
阅读全文