c语言字符串去除指定字符串
时间: 2023-11-27 13:46:08 浏览: 195
以下是一个简单的C语言函数,可以删除字符串中的指定字符:
```c
void delchar(char *str, char c) {
int i, j;
for (i = 0, j = 0; str[i] != '\0'; i++) {
if (str[i] != c) {
str[j++] = str[i];
}
}
str[j] = '\0';
}
```
该函数接受一个字符串和一个字符作为参数,然后遍历字符串中的每个字符,如果当前字符不是指定的字符,则将其复制到新的字符串中。最后,将新字符串的结尾设置为null字符,以表示字符串的结束。
在主函数中,您可以使用以下代码调用该函数:
```c
delchar(str, c);
```
其中,str是传入的字符串,c是待删除的字符。
相关问题
c语言字符串去除空格
以下是C语言实现字符串去除空格的代码:
```c
void removeSpaces(char* str) {
int i, j;
for (i = 0, j = 0; str[i] != '\0'; i++) {
if (str[i] != ' ') {
str[j++] = str[i];
}
}
str[j] = '\0';
}
```
该函数的实现方法是遍历字符串中的每个字符,如果该字符不是空格,则将其复制到新的字符串中。最后,将新字符串的末尾设置为'\0',以表示字符串的结束。
需要注意的是,该函数只能去除字符串中的空格,而不能去除其他空白字符,如制表符、换行符等。
c语言字符串去掉标点
可以使用C语言中的字符串处理函数来去掉标点符号,具体方法如下:
1. 定义一个字符串变量,存储需要去掉标点符号的字符串。
2. 使用C语言中的字符串处理函数strpbrk(),查找字符串中第一个出现的标点符号。
3. 如果找到了标点符号,使用C语言中的字符串处理函数strncpy(),将标点符号前面的部分复制到另一个字符串中。
4. 重复步骤2和步骤3,直到字符串中没有标点符号为止。
下面是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main()
{
char str[100] = "Hello, world! This is a test string.";
char new_str[100] = "";
char *p;
p = strpbrk(str, ",.!?");
while (p != NULL)
{
strncat(new_str, str, p - str);
strncat(new_str, " ", 1);
str = p + 1;
p = strpbrk(str, ",.!?");
}
strcat(new_str, str);
printf("Original string: %s\n", str);
printf("New string: %s\n", new_str);
return 0;
}
```
阅读全文