如何去掉字符串两端的空格和Tab?我的程序如下:void TrimSpaceAndTab(CString& csStr)
{
    int nLength=csStr.GetLength();
    while(TRUE)
    {
        csStr.TrimLeft(' ');
        csStr.TrimLeft('\t');
        csStr.TrimRight(' ');
        csStr.TrimRight('\t ');
        if(nLength==csStr.GetLength())
        {
            break;
         }
        else
        {
            nLength=csStr.GetLength();
         }    }
}它简炼吗? 有没有更好的方法?

解决方案 »

  1.   

    是呀。 如何自己去掉它们,还要判断是单字节还是多字节, 不然,不能断言等于'\t'的位置就是Tab.
      

  2.   

    直接 trimleft();
    trimright();
      

  3.   

    void TrimSpaceAndTab(CString& csStr){
      CString s=csStr;
      csStr="";
      int nLength=s.GetLength();  for(int i=0,j=0;i<nLength;i++){
        if(s[i]!=' '&&s[i]!='\t')
           csStr+=s[i];
      }
    }
      

  4.   

    CString csStr;
    CString csStr2;
    csStr2 = _T("&&   \t\tHockey is best!");
    csStr2 .TrimLeft (_T("& \t"));
    csStr= _T("    \t\tHockey is best!");
    csStr.TrimLeft(_T("  \t"));