清除字符串空格

1.清除字符串中右边的空格

 从字符串尾部开始,找到非空格处,将下一个字符置为0即可。

//清除右边空格
#include<stdio.h> 
int main()
{
    char buf[] = "hello world      ";
    int len = 0;
    
    //calculate the length of string
    while(buf[len++]);
    len--;
    
    int i;
    for(i = len - 1; i >= 0; i--)
    {
        if(buf[i] != ' ')
        {
            buf[i+1] = 0;  // == buf[i+1] = '\0'
            break;
        }
    }
    printf("buf = %s\n",buf);
    return 0;
}

2.清除字符串左边的空格。

  • 确定字符串左边有多少个空格;
  • 将字符串整体左移空格数
  • 将字符串最后位置0
//清除左边空格
#include<stdio.h>
int main()
{
    char buf[256] = "   hello world";
    int len = 0;
    while(buf[len++] == ' ');
    len--;
    
    int i = len;
    while(buf[i])
    {
        buf[i - len] = buf[i];
        i++;
    }
    buf[i - len] = 0;
    printf("buf = %s\n",buf);
    return 0;
 } 

 

posted @ 2019-06-16 11:40  王清河  阅读(882)  评论(0编辑  收藏  举报