C語(yǔ)言中trim的實(shí)現(xiàn)

字號(hào):

描述
    用ATL寫(xiě)了個(gè)COM,不支持MFC,所以無(wú)法用CString,但支持C編碼,遇到字符串(字符數(shù)組),想去掉字符串中的空格,C下沒(méi)有TRIM函數(shù),找又沒(méi)找到,幾行代碼自己寫(xiě)吧。往后大家萬(wàn)一遇到用著也方便。
    說(shuō)明
    1.seps是需要去除的字符數(shù)組,可以有幾個(gè)字符,也可以一個(gè)。這里是空格,最常用的。
    2.參數(shù)也很簡(jiǎn)單,第一個(gè)是結(jié)果數(shù)組指針,第二個(gè)是原字符數(shù)組指針,第三個(gè)是需要去掉的字符數(shù)組指針。返回的是結(jié)果數(shù)組指針。
    源代碼
    #include "stdafx.h"
    #include
    #include
    char seps[]  = " ";
    char* trim(char* desc,char* src,char* seps);
    int main(int argc, char* argv[])
    {
    char szResult[1024]="";
    memset(szResult,0,1024);
    char strtemp[]="ab c d e f";
    printf( "%s
    Tokens:
    ", strtemp );
    trim(szResult,strtemp,seps);
     printf( "result:%s(ok!)
    ", szResult );
    return 0;
    }
    //////////////////////////////////////////////////////
    char* trim(char* desc,char* src,char* seps)
    {
    char* token=NULL;
    /* Establish string and get the first token: */
    token = strtok(src, seps);
    while( token != NULL )
    {
     /* While there are tokens in "string" */
     printf( " %s
    ", token );
    strcat(desc,token);
     /* Get next token: */
     token = strtok( NULL, seps );
    }
    return desc;
    }