std::string::compare() in C++
Syntax 1: Compares the string *this with the string str. int string::compare (const string& str) const Returns: 0 : if both strings are equal. A value < 0 : if *this is shorter than str or, first character that doesn't match is smaller than str. A value > 0 : if *this is longer than str or, first character that doesn't match is greater
// CPP code for demonstrating // string::compare (const string& str) const #include<iostream> using namespace std; void compareOperation(string s1, string s2) { // returns a value < 0 (s1 is smaller then s2) if((s1.compare(s2)) < 0) cout << s1 << " is smaller than " << s2 << endl; // returns 0(s1, is being comapared to itself) if((s1.compare(s1)) == 0) cout << s1 << " is equal to " << s1 << endl; else cout << "Strings didn't match "; } // Driver Code int main() { string s1("Geeks"); string s2("forGeeks"); compareOperation(s1, s2); return 0; }
output:
Geeks is smaller than forGeeks Geeks is equal to Geeks
Syntax 2: Compares at most, len characters of string *this, starting with index idx with the string str.
// CPP code to demonstrate // int string::compare (size_type idx, size_type len, // const string& str) const #include<iostream> using namespace std; void compareOperation(string s1, string s2) { // Compares 5 characters from index number 3 of s2 with s1 if((s2.compare(3, 5, s1)) == 0) cout << "Here, "<< s1 << " are " << s2; else cout << "Strings didn't match "; } // Driver Code int main() { string s1("Geeks"); string s2("forGeeks"); compareOperation(s1, s2); return 0; }
output:
Here, Geeks are forGeeks
Syntax 3: Compares at most, len characters of string *this starting with index idx with at most, str_len characters of string str starting with index str_idx.
int string::compare (size_type idx, size_type len, const string& str, size_type str_idx, size_type str_len) const Throws out_of_range if idx > size(). Throws out_of_range if str_idx > str.size().
// CPP code to demonstrate // int string::compare (size_type idx, size_type len, const string& // str, size_type str_idx, size_type str_len) const #include<iostream> using namespace std; void compareOperation(string s1, string s2) { // Compares 5 characters from index number 0 of s1 with // 5 characters from index 3 of s2 if((s1.compare(0, 5, s2, 3, 5)) == 0) cout << "Welcome to " << s1 << s2 << " World"; else cout << "Strings didn't match "; } // Driver Code int main() { string s1("Geeks"); string s2("forGeeks"); compareOperation(s1, s2); return 0; }
Output:
Welcome, to GeeksforGeeks World
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步