删除字符串开始及末尾的空白符,并且把数组中间的多个空格(如果有)符转化为1个
void removeSpace(char *a)
{
int n = strlen(a);
int begin = 0;
int end = n - 1;
for (int i = 0; i < n; i++)
{
if (a[i] != ' ')
{
begin = i;
break;
}
}
for (int i = n-1; i >= 0; i--)
{
if (a[i] != ' ')
{
end = i;
break;
}
}
bool spaceFound = false;
int offset = begin;
for (int i = begin; i <= end; i++)
{
if (a[i] == ' ')
{
if (!spaceFound)
{
spaceFound = true;
a[i-offset] = a[i];
}
else
{
offset++;
}
}
else
{
spaceFound = false;
a[i-offset] = a[i];
}
}
a[end+1-offset] = '\0';
}