Menu
Coddy logo textTech

Comparación de strings

Parte de la sección Fundamentos del Journey de C++ de Coddy — lección 22 de 74.

En C++, la comparación de cadenas se puede realizar de múltiples maneras. Dado que std::string es una clase, tiene operadores sobrecargados que hacen que la comparación de cadenas sea intuitiva y directa.

La forma más común de comparar cadenas es utilizando operadores de comparación (==, !=, <, >, <=, >=):

string str1 = "hello";
string str2 = "hello";
string str3 = "Hello";

bool result1 = (str1 == str2);  // true
bool result2 = (str1 == str3);  // false (sensible a mayúsculas)
bool result3 = (str1 != str3);  // true

También puedes usar el método compare(), el cual devuelve 0 si las cadenas son iguales, un entero negativo si la primera cadena es lexicográficamente menor, y un entero positivo si es mayor. Ten en cuenta que el valor exacto depende de la implementación; no es necesariamente -1 o 1:

string str1 = "a";
string str2 = "b";
string str3 = "c";

cout << str2.compare(str1) << endl; 
// Positive (b comes after a)

cout << str2.compare(str3) << endl;
// Negative (b comes before c)

cout << str2.compare(str2) << endl;
// 0 (equal strings)

Hoja de referencia

En C++, puedes comparar cadenas utilizando operadores de comparación o el método compare().

Uso de operadores de comparación:

string str1 = "hello";
string str2 = "hello";
string str3 = "Hello";

bool result1 = (str1 == str2);  // true
bool result2 = (str1 == str3);  // false (sensible a mayúsculas/minúsculas)
bool result3 = (str1 != str3);  // true

Uso del método compare():

Devuelve 0 si las cadenas son iguales, <0 si la primera cadena es lexicográficamente menor, >0 si es mayor:

string str1 = "a";
string str2 = "b";
string str3 = "c";

cout << str2.compare(str1) << endl; // Positivo (b viene después de a)
cout << str2.compare(str3) << endl; // Negativo (b viene antes de c)
cout << str2.compare(str2) << endl; // 0 (cadenas iguales)

Pruébalo tú mismo

Esta lección no incluye un desafío de código.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos