c语言删标点
Ⅰ c语言中有没有去除字符串中标点符号的库函数
没有你说的库函数,你可以自定义函数,采用基迹字符函数strchr找到标点符号所在的位置,再用strcpy函数将标点符号之后的字符串拷贝至标点符处覆盖,直至所有的标点符号处李如理完毕,就可以实现你要的功能。
#include <stdio.h>
char *fun(char *a)
{ char *b=",.;:"; /* 举例部分标点符号,请自行补充 */哪锋启
char *temp,ch;
int i;
for(i=0;i<strlen(b);i++){
ch=*(b+i);
temp = (char *)strchr(a,ch);
while( strlen(temp)>0){
if(strlen(temp)>0)
strcpy(temp,temp+1);
temp = (char *)strchr(a,ch);
}
}
return(a);
}
main()
{ char *a="This, is. a,try.";
printf("%s\n",a);
printf("%s\n",fun(a));
}
Ⅱ 用c语言编写程序删除字符串中间的'*'号
#include<stdio.h>
int main()
{
int i=0, j = 0;
char str1[100], str2[100];
scanf_s("%s", str1,100);
while ( str1[i] != '\0')
{
if (str1[i] != '*')
{
str2[j] = str1[i];
j++;
}
i++;
}
str2[j] = '\0';
printf("%s\n", str2);
return 0;
}
其中scan_s那一列中的 _s 和 ,100 是由于在visual studio 2019上编写的,其他编译器可能不一定需要,去掉即可