Menu
Coddy logo textTech

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);  // verdadeiro

Você 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);  // true

Usando 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.

quiz iconTeste seus conhecimentos

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