字符串删除多余空格

转自http://www.cnblogs.com/xia520pi/archive/2012/06/28/2568708.html

给定字符串,删除开始和结尾处的空格,并将中间的多个连续的空格合并成一个

代码如下:

#include<stdio.h>

#include<string.h>


void del(char* ptr);
int main()
{
char* str="    I  like basketball    ";
del(str);
return 0;
}
void del(char* ptr)
{
bool begin;
int length=strlen(ptr);
if(ptr[0]!=' ')
{
begin=true;
}
else
{
begin=false;
}
printf("[");
for(int i=0;i<length;i++)
{
//去掉头部空格
if(ptr[i]==' '&&!begin)
{
if(i<length-1&&ptr[i+1]!=' ')
{
begin=true;
}
continue;
}
//去掉中间、尾部
if(begin)
{
if(ptr[i]==' ')
{
if(i<length-1&&ptr[i+1]!=' ')
{
printf("%c",ptr[i]);
}
continue;
}


}
printf("%c",ptr[i]);


}
printf("]");
}

你可能感兴趣的:(字符串删除多余空格)