vc++ MFC中字符串(CString)的比较

VC++   MFC中两CString字符串不能直接进行比较,需要转换成char*类型来进行比较。

CString  a;

CString  b;

char *pa = (char*)((LPCTSTR)a);

char *pb = (char*)((LPCTSTR)b);

if(!strcmp(pa,pb))

{

      MessageBox("pa==pb");

}

vc++比较字符串相等

  (2009-12-17 09:51:34)
转载
标签: 

杂谈

 
C++中对于数字类型的数据我们可以直接使用"=="即可比较是否相等,但是对于字符串的比较并不适用。我们可以利用以下的两个函数来 比较两个字符串是否相等

1、strcmp

      这是用于ANSI标准字符串的函数(如string和char *),此函数接受两个字符串缓冲区做为参数,如果两个字符串是相同的则返回零。否则若第一个传入的字符串的值大于第二个字符串返回值将会大于零,若传入的第一个字符串的值小于第二个字符串返回值将小于零。

char *ch="翔翔糖糖";
if(strcmp(ch,"翔翔糖糖")==0)
{
    //字符串相等
}
else
{
    //字符串不相等
}

 

2、wcscmp

      这个函数是strcmp所对应的Unicode系列的函数,它的使用方法和strcmp相同,它用来比较两个Unicode字符串是否相等(如wstring和wchar_t *)。

wchar_t *ch=L"翔翔糖糖";
if(wcscmp(ch,L"翔翔糖糖")==0)
{
    //字符串相等
}
else
{
    //字符串不相等
}

你可能感兴趣的:(问题)