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
{
//字符串不相等
}
注:以上所介紹的比較字符串是否相等的函數對於英文來說是要區分大小寫的,即使字母都相同但是大小寫不同,函數也會認為這兩個字符串是不同的。
前面介紹了如何比較兩個字符串是否相等,那是要區分大小寫的。今天也介紹兩個判斷字符串是否相等的函數,不同的是它們不會區分大小寫,即函數不會區分字符串的大小寫是否相同,只要每個字母相同就可以了。
1、stricmp
這是用於ANSI標准字符串的函數(如string和char *),此函數接受兩個字符串緩沖區做為參數,如果兩個字符串是相同的則返回零,不區分大小寫。否則若第一個傳入的字符串的值大於第二個字符串返回值將會大於零,若傳入的第一個字符串的值小於第二個字符串返回值將小於零。
char *ch="AbcD";
if(stricmp(ch,"aBCd")==0)
{
//字符串相等
}
else
{
//字符串不相等
}
2、wcsicmp
這個函數是stricmp所對應的Unicode系列的函數,它的使用方法和stricmp相同,它用來比較兩個Unicode字符串是否相等,不區分大小寫(如wstring和wchar_t *)。
wchar_t *ch=L"AbcD";
if(wcsicmp(ch,L"aBCd")==0)
{
//字符串相等
}
else
{
//字符串不相等
}