利用指针删除字符串中的数字
时间: 2024-02-22 18:55:05 浏览: 40
指针,删除字符串
5星 · 资源好评率100%
可以使用指针遍历字符串,找到其中的数字并删除。以下是一个 C++ 的示例代码:
```cpp
#include <iostream>
using namespace std;
void removeDigits(char* str) {
char* p = str; // 定义指针 p 指向 str 的起始位置
while (*p) { // 当指针 p 指向的字符不为 '\0' 时循环
if (isdigit(*p)) { // 如果当前字符是数字
char* q = p; // 定义指针 q 指向当前位置
while (*q) { // 从当前位置开始往后遍历
*q = *(q + 1); // 将后面的字符向前移动一位
q++;
}
continue; // 继续从当前位置检查下一个字符
}
p++; // 如果当前字符不是数字,则指针 p 向后移动一位
}
}
int main() {
char str[] = "abc123def456";
removeDigits(str);
cout << str << endl; // 输出结果为 "abcdef"
return 0;
}
```
上述代码中,`removeDigits` 函数接受一个字符指针 `str`,并在原地删除其中的数字。指针 `p` 指向 `str` 的起始位置,循环遍历字符串中的每个字符。如果当前字符是数字,则使用指针 `q` 从当前位置开始往后遍历,将后面的字符向前移动一位。如果当前字符不是数字,则指针 `p` 向后移动一位。最终,字符串中的所有数字都被删除了。
阅读全文