转自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("]");
}