• 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;
    }
    View Code

    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;
    }
    View Code

    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
  • 相关阅读:
    Codeforces 662 C. Binary Table
    Codeforces 923 D. Picking Strings
    Codeforces 923 C. Perfect Security
    Codeforces 923 B. Producing Snow
    Codeforces 923 A. Primal Sport
    bzoj千题计划288:bzoj1876: [SDOI2009]SuperGCD
    Configuring HugePages for Oracle on Linux (x86-64)
    Oracle 11g新参数USE_LARGE_PAGES与AMM使用 (转载)
    Linux Hugepage ,AMM及 USE_LARGE_PAGES for oracle 11G(转载)
    Oracle教程:如何诊断节点重启问题(转载)
  • 原文地址:https://www.cnblogs.com/PiaYie/p/14605653.html
Copyright © 2020-2023  润新知