C语言中有没有去除字符串中标点符号的库函数?

2024-12-18 16:14:05
推荐回答(3个)
回答1:

没有你说的库函数,你可以自定义函数,采用字符函数strchr找到标点符号所在的位置,再用strcpy函数将标点符号之后的字符串拷贝至标点符处覆盖,直至所有的标点符号处理完毕,就可以实现你要的功能。
#include

char *fun(char *a)
{ char *b=",.;:"; /* 举例部分标点符号,请自行补充 */
char *temp,ch;
int i;

for(i=0;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));
}

回答2:

ispunct(char c)用这个函数判断

回答3:

没有这样的库函数。