我怎么判断两个字符串CString str1,str2  是否相等?
 if( strcmp(str1,str2)!=0 )
我这样判断的时候,好象结果有时候对,有时候不对,怎么回事?

解决方案 »

  1.   

    CString str1;
    CString str2;
    .......
    if (str1.Compare(str2))
    {
    }
      

  2.   

    if (str1 == str2) {}
      

  3.   

    CString str1;
    CString str2;
    .......
    if (str1==str2)
    {
    }
      

  4.   

    ==
    如楼上的,你用strcmp是比较的C形式的两个字符串
      

  5.   

    if (!str1.CompareNoCase( str2 ))  //如果相等
    {
    .....
    }
      

  6.   

    CString str1;
    CString str2;
    .......
    if (str1.Compare(str2)==0)
    {
       // 相等
    }
    else
    {
      // 不相等
    }
      

  7.   

    写错了吧应该是:if( strcmp(str1,str2)==0 )见MSDN:Return ValueReturns zero if the strings are identical. Returns a positive value if the string pointed to by lpStr1 is greater than that pointed to by lpStr2. Returns a negative value if the string pointed to by lpStr1 is less than that pointed to by lpStr2.
      

  8.   

    在afxstr.h中定义:
    typedef ATL::CStringT< TCHAR, StrTraitMFC< TCHAR > > CString;在MSDN中表述为:
    CStringT Members
    operator == 
    Determines if two strings are logically equal. 
      

  9.   

    靠,搞地这么复杂做什么
    楼上有几位说得多简单!!
    if(str1 == str2)
    {}else
    {}
    这个最好
      

  10.   

    if ( strcmp(str1,str2)==0 )
    {
       //相等
    }
    else
    {
      //不等
    }
      

  11.   

    if (str1==str2)
    {
    }
      

  12.   

    1、if(str1==str2)
    2、if ( strcmp(str1,str2)==0 )
    3、if (!str1.CompareNoCase( str2 ))
    4、^_^,结贴啦!
      

  13.   

    if( strcmp(str1,str2)!=0 )
    ???????==0才是相等。
    CString::Compare
    如果不区分大小写
    CString::CompareNoCase