c语言如何删除字符串中的某个字符
时间: 2023-05-08 17:55:44 浏览: 288
在C语言中删除字符串中的某个字符可以通过如下几个步骤实现:
1. 获取需要删除的字符在字符串中的位置,可以使用C语言中的strchr()函数实现,该函数返回指向第一次出现指定字符的指针。
2. 判断获取到的指针是否为NULL,如果为NULL表示查找不到该字符,则无需删除,直接返回即可。
3. 如果获取到的指针不为NULL,则需要将指定字符后面的所有字符依次向前移动一个位置,可以使用C语言中的strcpy()函数实现。
4. 最后将字符串末尾多余的字符去掉,可以使用C语言中的strlen()函数获取字符串长度,再将末尾的多余字符替换成'\0'即可。
示例代码如下所示:
```
#include <stdio.h>
#include <string.h>
void removeChar(char *str, char ch) {
char *src, *dst;
for (src = dst = str; *src != '\0'; src++) {
*dst = *src;
if (*dst != ch) dst++;
}
*dst = '\0';
}
int main() {
char str[100], ch;
printf("请输入字符串:");
fgets(str, 100, stdin);
printf("请输入需要删除的字符:");
scanf("%c", &ch);
getchar();
removeChar(str, ch);
printf("删除后的字符串为:%s", str);
return 0;
}
```
以上代码中,removeChar()函数即为删除指定字符的函数实现,str为需要删除字符的字符串,ch为需要删除的字符。通过for循环遍历字符串中的每个字符,将不需要删除的字符向前移动一位,最后将末尾多余的字符替换成'\0'。在main()函数中,先获取用户输入的字符串和需要删除的字符,再调用removeChar()函数删除指定字符。最后输出删除后的结果字符串。
阅读全文