删除字符串开始及末尾的空格,并且把数组中间的多个空格转化为一个

char* formatString(char *sourceString) {
    if(sourceString==NULL)
        return NULL;
    int source_len=strlen(sourceString);
    int i=0;
    char *pstart;
    for(;i<source_len;++i){
        if(sourceString[i]!=' ')
            break;
    }
    pstart=&sourceString[i];
    int p_locate;
    while(i<source_len && sourceString[i]!=' ')
        ++i;
    p_locate=i;//p_locate指向一个串结束后的第一个空格
    for(;i<source_len;){
        while(i<source_len && sourceString[i]==' ')
            ++i;//找到第一个不是空格的字符
        if(i==source_len)
            break;
        p_locate+=1;
        while(i<source_len && sourceString[i]!=' '){            
            sourceString[p_locate++]=sourceString[i++];
        } 
        sourceString[p_locate]=' ';
    }
    sourceString[p_locate]='';
    return pstart;
}
原文地址:https://www.cnblogs.com/whutqueqiaoxian/p/4799301.html