gpt4 book ai didi

c - 如何从 C 中的字符串中删除标点符号

转载 作者:太空狗 更新时间:2023-10-29 15:09:53 25 4
gpt4 key购买 nike

我想从字符串中删除所有标点符号,并在 C 语言中将所有大写字母变为小写,有什么建议吗?

最佳答案

只是使用 ctype.h 提供的函数的算法草图:

#include <ctype.h>

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;
}

适用标准注意事项:完全未经测试;改进和优化留给读者作为练习。

关于c - 如何从 C 中的字符串中删除标点符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1841758/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com