#include <stdio.h>
int is_blank(int ch)
{
return ch == ' ' || ch == '\t' || ch == '\r' || ch == '\n' || ch == '\v' || ch == '\f';
}
void deblank(char *string)
{
char *src = string;
char *dest = string++;
char ch;
while ((ch = *src++) != '\0')
{
if (is_blank(ch))
{
if (src == string || !is_blank(dest[-1]))
*dest++ = ' ';
}
else
{
*dest++ = ch;
}
}
*dest = '\0';
}
int main()
{
char str[64];
sprintf(str, " h e l lo \n ");
char *pstr = &str[1];
deblank(pstr);
printf("%s\n", str);
printf("%s\n", pstr);
}
从一个字符串去除多余的空格
最新推荐文章于 2021-05-17 06:51:17 发布
本文介绍了一个C语言程序,该程序定义了一个去除字符串中空白字符的功能。通过使用自定义的is_blank()函数判断字符是否为空白字符,并利用deblank()函数进行处理。最终,通过实例演示了如何去除字符串中的空白字符。
2062

被折叠的 条评论
为什么被折叠?



