Comparação de Strings
Parte da seção Fundamentos do Journey de C++ da Coddy — lição 22 de 74.
Em C++, a comparação de strings pode ser feita de várias maneiras. Como std::string é uma classe, ela possui operadores sobrecarregados que tornam a comparação de strings intuitiva e direta.
A maneira mais comum de comparar strings é usando operadores de comparação (==, !=, <, >, <=, >=):
string str1 = "hello";
string str2 = "hello";
string str3 = "Hello";
bool result1 = (str1 == str2); // verdadeiro
bool result2 = (str1 == str3); // falso (sensível a maiúsculas e minúsculas)
bool result3 = (str1 != str3); // verdadeiroVocê também pode usar o método compare(), que retorna 0 se as strings forem iguais, um número inteiro negativo se a primeira string for lexicograficamente menor e um número inteiro positivo se for maior. Observe que o valor exato é definido pela implementação — não é necessariamente -1 ou 1:
string str1 = "a";
string str2 = "b";
string str3 = "c";
cout << str2.compare(str1) << endl;
// Positivo (b vem depois de a)
cout << str2.compare(str3) << endl;
// Negativo (b vem antes de c)
cout << str2.compare(str2) << endl;
// 0 (strings iguais)Folha de consulta
Em C++, você pode comparar strings usando operadores de comparação ou o método compare().
Usando operadores de comparação:
string str1 = "hello";
string str2 = "hello";
string str3 = "Hello";
bool result1 = (str1 == str2); // true
bool result2 = (str1 == str3); // false (sensível a maiúsculas e minúsculas)
bool result3 = (str1 != str3); // trueUsando o método compare():
Retorna 0 se as strings forem iguais, <0 se a primeira string for lexicograficamente menor, >0 se for maior:
string str1 = "a";
string str2 = "b";
string str3 = "c";
cout << str2.compare(str1) << endl; // Positivo (b vem depois de a)
cout << str2.compare(str3) << endl; // Negativo (b vem antes de c)
cout << str2.compare(str2) << endl; // 0 (strings iguais)Experimente você mesmo
Esta lição não inclui um desafio de código.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Operadores Parte 1
Operadores AritméticosOperador de MóduloIncremento/DecrementoPós-incremento/DecrementoAtalhos AritméticosOperadores de ComparaçãoComparação de Strings7Fundamentos de Entrada/Saída
Comando coutComando cinEntrada de StringRevisão - Até 120Revisão - Verdadeiro ou Falso3Variáveis Parte 2
Declaração de TipoConvenções de NomenclaturaRecapitulação - Inicializar VariáveisType Casting Parte 1Type Casting Parte 26Tomada de Decisão
Estrutura IfIf - ElseEstrutura SwitchOperador CondicionalRecapitulação - If ElseIf - Else Aninhado