comparar() es una función miembro pública de la clase de cadena. Compara el valor del objeto de cadena (o una subcadena) con la secuencia de caracteres especificada por sus argumentos.
compare() puede procesar más de un argumento para cada cadena, de modo que se pueda especificar una subcadena por su índice y su longitud.
Tipo de devolución: compare() devuelve un valor entero en lugar de un valor booleano.
Diferentes sintaxis para string::compare() :
- Sintaxis 1: Compara la cadena *this con la cadena 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: si *esto es más largo que str o, el primer carácter que no coincide es mayor>
CPP
// CPP code for demonstrating> // string::compare (const string& str) const> #include> using> namespace> std;> void> compareOperation(string s1, string s2)> {> >// returns a value <0 (s1 is smaller than s2)> >if>((s1.compare(s2)) <0)> >cout << s1 << ' is smaller than ' << s2 << endl;> >// returns 0(s1, is being compared 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;> }> |
>
>
Producción:
Geeks is smaller than forGeeks Geeks is equal to Geeks>
- Sintaxis 2: Compara como máximo, len caracteres de la cadena *this, comenzando con el índice idx con la cadena str.
int string::compare (size_type idx, size_type len, const string& str) const Throws out_of_range if index>tamaño().>
CPP
borde usando css
// CPP code to demonstrate> // int string::compare (size_type idx, size_type len,> // const string& str) const> #include> 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;> }> |
>
>
Producción:
Here, Geeks are forGeeks>
- Sintaxis 3: Compara como máximo, len caracteres de la cadena *esto que comienza con el índice idx con como máximo, str_len caracteres de la cadena str que comienza con el índice 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>tamaño(). Lanza out_of_range si str_idx> str.size().>
CPP
// 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> 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;> }> |
>
>
matriz dinámica java
Producción:
Welcome, to techcodeview.com World>
- Sintaxis 4: Compara los caracteres de la cadena *this con los caracteres de la cadena C cstr.
int string::compare (const char* cstr) const>
CPP
cadena java
// CPP code to demonstrate> // int string::compare (const char* cstr) const> #include> using> namespace> std;> void> compareOperation(string s1, string s2)> {> >// returns <0 (s1 < 'techcodeview.com')> >if>((s1.compare('techcodeview.com')) <0)> >cout << s1 << ' is smaller than string ' << 'techcodeview.com';> >//returns 0 (s2 is 'forgeeks')> >if>((s2.compare('forGeeks')) == 0)> >cout << endl << s2 << ' is equal to string ' << s2;> >else> >cout << 'Strings didn't match ';> > }> // Driver Code> int> main()> {> >string s1('Geeks');> >string s2('forGeeks');> >compareOperation(s1, s2);> > >return> 0;> }> |
>
>
Producción:
Geeks is smaller than string techcodeview.com forGeeks is equal to string forGeeks>
- Sintaxis 5: Compara como máximo, len caracteres de la cadena *this, comenzando con el índice idx con todos los caracteres de la cadena C cstr.
int string::compare (size_type idx, size_type len, const char* cstr) const>
Tenga en cuenta que cstr puede no ser un puntero nulo (NULL).
CPP
// CPP code to demonstrate> // int string::compare (size_type idx, size_type len,> // const char* cstr) const> #include> using> namespace> std;> void> compareOperation(string s1)> {> >// Compares 5 characters from 0 index of s1 with 'Geeks'> >if>((s1.compare(0, 5, 'Geeks')) == 0)> >cout << s1 << ' are ' << 'awesome people';> > >else> >cout << 'Strings didn't match ';> > }> // Driver Code> int> main()> {> >string s1('Geeks');> >compareOperation(s1);> > >return> 0;> }> |
>
>
Producción:
Geeks are awesome people>
- Sintaxis 6: Compara, como máximo, len caracteres de la cadena *this, comenzando con el índice idx con los caracteres chars_len de la matriz de caracteres chars.
int string::compare (size_type idx, size_type len, const char* chars, size_type chars_len)const>
Tenga en cuenta que los caracteres deben tener al menos caracteres chars_len. Los caracteres pueden tener valores arbitrarios. Por tanto, ' ' no tiene un significado especial.
CPP
// CPP code to demonstrate> // int string::compare (size_type idx, size_type len,> // const char* chars, size_type chars_len)const> #include> using> namespace> std;> void> compareOperation(string s1, string s2)> {> >// Compares 5 characters from 0 index of s1 with> >// 5 characters of string 'Geeks'> >if>((s1.compare(0, 5, 'Geeks', 5)) == 0)> >cout << 'This is ' << s1 << s2 ;> > >else> >cout << 'Strings didn't match ';> }> // Driver Code> int> main()> {> >string s1('Geeks');> >string s2('forGeeks');> >compareOperation(s1, s2);> > >return> 0;> }> |
>
>
león comparado con un tigre