去掉字符串前后的回车、换行、空格、制表等字符

来源:互联网 发布:如何查看淘宝信誉度 编辑:程序博客网 时间:2024/05/24 05:28

BOOL  AllTrim(char * pszSrcStr)    // 去掉字符串前后的回车、换行、空格、制表等字符
{
    BOOL  bBoldTail = FALSE;
    int  nIndx = 0, nLen = 0;
    char  szTmpStr[MAX_PATH + 1], * pszToken = NULL, *ptrSrc = pszSrcStr;

    if ( (NULL == pszSrcStr)  ||  !strlen(pszSrcStr) )
    {
        return  FALSE;
    }
    else if ( MAX_PATH < strlen(pszSrcStr) )
    {
        ::MessageBox(NULL, L"输入的字符串太长!", L"清除字符串", MB_OK|MB_ICONWARNING);
        return  FALSE;
    }

    nLen = strlen( pszSrcStr );
    for ( nIndx = 0; nIndx < nLen; nIndx++ )
    {
        if ( ( ' ' != pszSrcStr[nIndx]) && ('/t' != pszSrcStr[nIndx]) &&
            ('/r' != pszSrcStr[nIndx]) && ('/n' != pszSrcStr[nIndx]) )
        {
            break;        // 查找前导的回车、换行、空格、制表等字符
        }
    }

    if ( nLen == nIndx )
    {    // 整个字符串除了回车、换行、空格、制表等字符外没有其它有效字符,直接清空!
        *pszSrcStr = '/x0';
        return  TRUE;
    }

    strcpy( szTmpStr, &pszSrcStr[nIndx] );    // 去掉前导回车、换行、空格、制表等字符以后的字符串
    nLen = strlen( szTmpStr );
    for ( nIndx = nLen - 1; nIndx >= 0; nIndx-- )
    {
        if ( ( ' ' != szTmpStr[nIndx]) && ('/t' != szTmpStr[nIndx]) &&
            ('/r' != szTmpStr[nIndx]) && ('/n' != szTmpStr[nIndx]) )
        {
            break;        // 查找尾部的回车、换行、空格、制表等字符
        }
    }

    if ( 0 <= nIndx )
    {
        szTmpStr[nIndx+1] = '/x0';
    }

    strcpy( pszSrcStr, szTmpStr );    // 得到去掉尾部回车、换行、空格、制表等字符以后的字符串

    return  TRUE;
}

原创粉丝点击