C++如何比較兩個字符串或string是否相等strcmp()和compare()
更新時間:2023年11月22日 10:48:49 作者:TechArtisan6
這篇文章主要介紹了C++如何比較兩個字符串或string是否相等strcmp()和compare()問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
如果要比較的對象是char字符串
則利用函數(shù)
strcmp(const char s1,const char s2)
- 當 str1 < str2 時,返回為負數(shù)(-1);
- 當 str1 == str2 時,返回值= 0;
- 當 str1 > str2 時,返回正數(shù)(1)。
注:strcmp(const char s1,const char s2) 這里面只能比較字符串,即可用于比較兩個字符串常量,或比較數(shù)組和字符串常量,不能比較數(shù)字等其他形式的參數(shù)。
代碼示例
#include<iostream>
#include<string>
using namespace std;
int main()
{
char str1[10000];
char str2[10000];
cout << "兩個字符串比較是否相同" << endl;
cout << "請輸入第一個字符串:" << endl;
cin.get(str1, 10000).get();
cout << "請輸入第二個字符串:" << endl;
cin.get(str2, 10000).get();
if (strcmp(str1, str2) == 0)
{
cout << "您輸入的兩個字符串相同" << endl;
}
else
{
cout << "您輸入的兩個字符串不相同" << endl;
}
system("pause");
return 0;
}
運行結果


如果要比較的對象是兩個string
則利用函數(shù) compare()
若要比較string s1和s2則寫為:s1.compare(s2),若返回值為0,則兩者相等。
- 當s1 < s2時,返回為負數(shù)(-1);
- 當s1 == s2時,返回值= 0;
- 當s1 > s2時,返回正數(shù)(1)。
代碼示例
#include<iostream>
#include<string>
using namespace std;
int main()
{
char str1[10000];
char str2[10000];
string s1;
string s2;
cout << "兩個字符串比較是否相同" << endl;
cout << "請輸入第一個字符串:" << endl;
cin.get(str1, 10000).get();
cout << "請輸入第二個字符串:" << endl;
cin.get(str2, 10000).get();
s1 = str1;
s2 = str2;
if ( (s1.compare(s2)) == 0 )
{
cout << "您輸入的兩個字符串相同" << endl;
}
else
{
cout << "您輸入的兩個字符串不相同" << endl;
}
system("pause");
return 0;
}


總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
C++實現(xiàn)LeetCode(17.電話號碼的字母組合)
這篇文章主要介紹了C++實現(xiàn)LeetCode(17.電話號碼的字母組合),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下2021-07-07
C++ opencv圖像處理實現(xiàn)圖片幾何變換示例
這篇文章主要為大家介紹了C++ opencv圖像處理實現(xiàn)圖片幾何變換示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05

