C++如何比較兩個(gè)字符串或string是否相等strcmp()和compare()
如果要比較的對(duì)象是char字符串
則利用函數(shù)
strcmp(const char s1,const char s2)
- 當(dāng) str1 < str2 時(shí),返回為負(fù)數(shù)(-1);
- 當(dāng) str1 == str2 時(shí),返回值= 0;
- 當(dāng) str1 > str2 時(shí),返回正數(shù)(1)。
注:strcmp(const char s1,const char s2) 這里面只能比較字符串,即可用于比較兩個(gè)字符串常量,或比較數(shù)組和字符串常量,不能比較數(shù)字等其他形式的參數(shù)。
代碼示例
#include<iostream> #include<string> using namespace std; int main() { char str1[10000]; char str2[10000]; cout << "兩個(gè)字符串比較是否相同" << endl; cout << "請(qǐng)輸入第一個(gè)字符串:" << endl; cin.get(str1, 10000).get(); cout << "請(qǐng)輸入第二個(gè)字符串:" << endl; cin.get(str2, 10000).get(); if (strcmp(str1, str2) == 0) { cout << "您輸入的兩個(gè)字符串相同" << endl; } else { cout << "您輸入的兩個(gè)字符串不相同" << endl; } system("pause"); return 0; }
運(yùn)行結(jié)果
如果要比較的對(duì)象是兩個(gè)string
則利用函數(shù) compare()
若要比較string s1和s2則寫為:s1.compare(s2),若返回值為0,則兩者相等。
- 當(dāng)s1 < s2時(shí),返回為負(fù)數(shù)(-1);
- 當(dāng)s1 == s2時(shí),返回值= 0;
- 當(dāng)s1 > s2時(shí),返回正數(shù)(1)。
代碼示例
#include<iostream> #include<string> using namespace std; int main() { char str1[10000]; char str2[10000]; string s1; string s2; cout << "兩個(gè)字符串比較是否相同" << endl; cout << "請(qǐng)輸入第一個(gè)字符串:" << endl; cin.get(str1, 10000).get(); cout << "請(qǐng)輸入第二個(gè)字符串:" << endl; cin.get(str2, 10000).get(); s1 = str1; s2 = str2; if ( (s1.compare(s2)) == 0 ) { cout << "您輸入的兩個(gè)字符串相同" << endl; } else { cout << "您輸入的兩個(gè)字符串不相同" << endl; } system("pause"); return 0; }
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
C語(yǔ)言中儲(chǔ)存類別與內(nèi)存管理的深入理解
這篇文章主要給大家介紹了關(guān)于C語(yǔ)言中儲(chǔ)存類別與內(nèi)存管理的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03C++實(shí)現(xiàn)LeetCode(17.電話號(hào)碼的字母組合)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(17.電話號(hào)碼的字母組合),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)時(shí)間復(fù)雜度及空間復(fù)雜度簡(jiǎn)要分析
我們?cè)谶M(jìn)行編程時(shí),往往會(huì)開發(fā)諸多的算法,那么我們?cè)趺丛谀敲炊嗨惴ㄖ姓业阶詈玫哪莻€(gè)呢?本文主要介紹時(shí)間和空間復(fù)雜度概念及時(shí)間復(fù)雜度的求解,預(yù)祝讀者學(xué)習(xí)愉快2021-10-10淺析string類字符串和C風(fēng)格字符串之間的區(qū)別
string類是標(biāo)準(zhǔn)庫(kù)的類,并不是內(nèi)置類型,標(biāo)準(zhǔn)庫(kù)就像是我們自己定義的類差不多的,string類型對(duì)象沒有標(biāo)配'\0'結(jié)尾的2013-09-09vs2022?qt環(huán)境搭建調(diào)試的方法步驟
最近net6和vs2022發(fā)布,本文就詳細(xì)的介紹一下vs2022?qt環(huán)境搭建調(diào)試的方法步驟,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12基于C++中常見內(nèi)存錯(cuò)誤的總結(jié)
本篇文章是對(duì)C++中常見的內(nèi)存錯(cuò)誤進(jìn)行了總結(jié)介紹。需要的朋友參考下2013-05-05C++ opencv圖像處理實(shí)現(xiàn)圖片幾何變換示例
這篇文章主要為大家介紹了C++ opencv圖像處理實(shí)現(xiàn)圖片幾何變換示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05