c语言中字符串去掉逗号,如何从C中的字符串中删除标点符号

只是使用 ctype.h提供的函数的算法草图: #include void remove_punct_and_make_lower_case(char *p

只是使用

ctype.h提供的函数的算法草图:

#include

void remove_punct_and_make_lower_case(char *p)

{

char *src = p, *dst = p;

while (*src)

{

if (ispunct((unsigned char)*src))

{

/* Skip this character */

src++;

}

else if (isupper((unsigned char)*src))

{

/* Make it lowercase */

*dst++ = tolower((unsigned char)*src);

src++;

}

else if (src == dst)

{

/* Increment both pointers without copying */

src++;

dst++;

}

else

{

/* Copy character */

*dst++ = *src++;

}

}

*dst = 0;

}

标准警告适用:完全未经测试;改进和优化留给读者作为练习.