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); // trueTambié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); // trueUso 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.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 1
Operadores aritméticosOperador móduloIncremento/DecrementoPost-incremento/decrementoAtajos aritméticosOperadores de comparaciónComparación de strings7Conceptos básicos de Entrada/Salida
Sentencia coutSentencia cinEntrada de cadenasResumen - Hasta 120Resumen - Verdadero o Falso5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 38Calculadora de números
Mensaje de bienvenidaObtención de números3Variables Parte 2
Declaración de tiposConvenciones de nomenclaturaResumen - Inicializar variablesType Casting Parte 1Type Casting Parte 26Toma de decisiones
Sentencia IfIf - ElseSentencia SwitchOperador condicionalRepaso - If ElseIf - Else anidados