Como comparar string em C ++

How Compare String C



Comparar strings é uma tarefa muito comum para qualquer linguagem de programação. É usado principalmente para validar os dados, como verificar o nome de usuário e a senha das informações de login. A comparação de strings pode ser feita usando um operador de comparação ou usando funções integradas. Duas funções de comparação de strings usadas em C ++ são, strcmp () e comparar() . o strcmp () é uma função de biblioteca de C para comparar duas strings. O C ompare () é uma função interna do C ++ para comparar duas strings. As maneiras de comparar strings usando operadores e funções de comparação foram explicadas neste tutorial.

Pré-requisito:

Antes de verificar os exemplos deste tutorial, é necessário verificar se o compilador g ++ está instalado ou não no sistema. Se você estiver usando o Visual Studio Code, instale as extensões necessárias para compilar o código-fonte C ++ para criar o código executável. Aqui, o aplicativo Visual Studio Code foi usado para compilar e executar o código C ++.







Usando o operador de comparação para comparar string:

A maneira mais comum de comparar strings em C ++ é usando o operador de comparação. Esses são operadores iguais (==) e diferentes (! =). Crie um arquivo C ++ com o código a seguir para comparar dois valores de string usando o operador de comparação. De acordo com o código, um endereço de URL será obtido do usuário e comparado com outras strings usando um operador igual (==). Se o valor de entrada corresponder a qualquer string da condição 'if', a mensagem específica será impressa; caso contrário, a mensagem da parte ‘outra’ será exibida.



// Incluir biblioteca necessária

#incluir

usingnamespace std;

intmain() {
// Declara uma variável de string
string url_addr;
// Pega um endereço url do usuário
custourl_addr;
// Compare o valor de entrada com outra string usando o operador equivalente
E se(url_addr== 'Google com')
custo<<'É um site de busca wensite.'<<endl;
elseif(url_addr== 'jooble.org')
custo<<'É um site de busca de empregos.'<<endl;
elseif(url_addr== 'linuxhint.com')
custo<<'É um site de blog.'<<endl;
outro
custo<<'Nenhuma informação é adicionada para este site.'<<endl;

return0;
}

Saída:



Depois de executar o código, se o usuário digitou ‘ linuxhint.com ‘Como entrada, a terceira condição‘ se ’será retornada Verdade, e a seguinte saída aparecerá.





Usando a função compare () para comparar a string:

A função compare () compara duas strings e retorna 0 ou 1 ou -1 com base no resultado correspondente da comparação. O significado dos valores de retorno é fornecido abaixo.



  • A função retornará 0 quando as duas strings de comparação forem iguais.
  • A função retornará 1 quando a primeira string for maior que a segunda string.
  • A função retornará -1 quando a primeira string for menor que a segunda string.

Sintaxe:

intstring1.comparar(string2)

Crie um arquivo C ++ com o código a seguir para comparar dois valores de string com dois valores de entrada usando a função compare (). A autenticação de qualquer usuário pode ser verificada comparando os valores enviados pelos usuários com os valores do usuário autenticado. Este processo de autenticação foi implementado no código a seguir. O endereço de e-mail e a senha válidos foram armazenados em duas variáveis ​​de string aqui. Em seguida, esses valores foram comparados com o endereço de e-mail e a senha obtidos do usuário usando comparar () função. O lógico E operador foi usado no código para autenticar o usuário. A mensagem de sucesso será impressa se ambas as funções compare () retornarem True. Caso contrário, a mensagem de falha será impressa.

// Incluir biblioteca necessária

#incluir

usingnamespace std;

intmain() {

// Inicializa duas variáveis ​​de string
string email('[email protegido]');
senha de string('linuxhint');
// Declara duas variáveis ​​de string
string user_email;
string user_password;

// Pega o endereço de e-mail do usuário
custouser_email;

// Pega a senha do usuário
custosenha do usuário;

// Verifique se o nome de usuário e a senha são válidos ou inválidos
E se (user_email.comparar(o email) == 0&&senha do usuário.comparar(senha) == 0 )
custo<<'Autenticação bem-sucedida.'<<endl;
outro
custo<<'E-mail ou senha é inválido.'<<endl;

return0;
}

Saída:

Depois de executar o código, se o usuário digitou ‘ [email protegido] ‘Como endereço de e-mail e‘ 12345 ‘Como senha, a terceira condição‘ se ’será retornada Falso, e a seguinte saída aparecerá.

Depois de executar o código novamente, se o usuário digitar ‘ [email protegido] ‘Como endereço de e-mail e‘ linuxhint ‘Como senha, a terceira condição‘ se ’será retornada Verdade, e a seguinte saída aparecerá.

Usando a função strcmp () para comparar a string:

O strcmp () é outra função para comparar strings em C ++. Ele retorna verdadeiro se as duas strings de comparação forem iguais. Os parâmetros de entrada obtidos por esta função são diferentes da função compare (). A função de comparação usa um valor de string como parâmetro e a função strcmp () usa o array char como parâmetro. A sintaxe desta função é fornecida a seguir.

Sintaxe:

int strcmp ( const Caracteres *str1, const Caracteres *str2);

Crie um arquivo C ++ com o código a seguir para comparar duas strings usando a função strcmp (). Duas matrizes de caracteres de 100 elementos foram declaradas no código para armazenar os valores de string obtidos pelos usuários. o Obter linha() função é usada para armazenar a entrada do usuário nas variáveis ​​da matriz char. A seguir, o strcmp () função tem usado para verificar se os valores de entrada são iguais ou não. Se a função retornar Verdade, então a mensagem de sucesso será impressa; caso contrário, a mensagem de falha será impressa,

// Incluir bibliotecas necessárias

#incluir

#incluir

usingnamespace std;

intmain() {
// Delare duas variáveis ​​de string
CaractereschrData1[100],chrData2[100];

// Pega os primeiros dados da string
custo<<'Digite a primeira string:';
Gin.Obter linha(chrData1, 100);
// Pega os dados da segunda string
custo<<'Digite a segunda string:';
Gin.Obter linha(chrData2, 100);

E se ( strcmp (chrData1,chrData2)==0)
printf ('As cordas são iguais n');
outro
printf ('As cordas não são iguais n');

return0;
}

Saída:

Depois de executar o código, o valor da string, ' Olá ‘É fornecido para ambos os valores de entrada, e a seguinte saída aparecerá.

Conclusão:

Três maneiras de comparar strings em C ++ foram mostradas neste tutorial usando três exemplos simples. Os usos do operador de comparação e das funções integradas para verificar a igualdade das strings foram descritos neste tutorial para ajudar os novos programadores de C ++.