#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>

//一般情况下不要修改输入的内存块的值
int trimSpace_ok(char *mybuf, char *outbuf)
{
    int Count = 0;
    int i = 0, j = 0;

    char *p = mybuf;
    j = strlen(p) -1;

    while (isspace(p[i]) && p[i] != '\0')
    {
        i++;
    }

    while (isspace(p[j]) && j>0)
    {
        j--;
    }
    Count = j-i +1;

    printf("Count:%d\n", Count);

    //void *  __cdecl memcpy(void *, const void *, size_t);
    memcpy(outbuf, mybuf+i, Count);
    outbuf[Count] = '\0';
    return 0;

}

int main()
{
    int ret = 0;
    char *p = NULL;
    char buf2[100];

    char *buf = "       abcd11111abcd2222abcdqqqqq       ";
    ret = trimSpace_ok(buf, buf2);
    if (ret != 0)
    {
        printf("func trimSpace() err:%d\n", ret);
        return -1;
    }
    printf("buf2:%s \n", buf2);

    return 0;

}

备份地址: 【C字符串操作:两头堵实现trim()