Strncmp c ++

Strncmp c ++
As cordas são a parte principal da linguagem C ++, pois possui muitas funções internas para realizar algumas tarefas específicas nessas seqüências. Você pode criar substringas, verificar seus tamanhos e relacioná -los um para o outro. A comparação de string é o conceito mais usado em C++. Para fazer isso, o C ++ criou a função strncmp (). É muito fácil de usar com declarações if-else no código. Portanto, discutiremos seu trabalho no Ubuntu 20.04 Sistema. Vamos começar com a geração de arquivos C ++ com instrução de toque no shell e abri -lo com a palavra -chave "nano".

Exemplo 01:

Vamos começar com o primeiro exemplo a usar a função strncmp (). O código foi iniciado com a inclusão da biblioteca C ++. As bibliotecas de cabeçalho que incluímos são "iostream" e "string.h ”para o uso do fluxo de entrada e saída e funções de string diretamente no código. O namespace c ++ “std” é necessário para adicionar dentro do código para usar as instruções “CIN” e “Cout”. Todo o código foi feito na função principal (). Então, começamos com a declaração e a inicialização das variáveis ​​de string de tipo de dois caracteres do tamanho 30, i i.e. S1 e S3. Ambos os arquivos contêm os valores do tipo de string neles, eu.e. metade e metade diferente. A função strncmp () foi chamada para comparar as duas variáveis ​​S1 e S2.

Esta chamada de função está utilizando as variáveis ​​S1 e S2 nos argumentos e o número de elementos que queremos comparar, i i.e. 9. O número de caracteres iguais para ambas as strings retornados pela função strncmp () será salvo na variável inteira "i". Aí vem a declaração "if-else" para verificar se o número retornado de caracteres iguais é zero, menor que 0, ou maior que 0. Se o número "i" for igual a zero, a instrução Cout exibirá a saída da string igual. Isso significa que não há caracteres incomparáveis ​​foram encontrados até agora. Caso contrário, a declaração "cout" exibirá que as seqüências.

Após esta compilação de código com G ++ e execução com o “./a.Comando de fora ”, obtivemos o resultado como mostrando que ambas as cordas são iguais até os 9 primeiros caracteres em cada.

Vamos mudar o número de caracteres a serem comparados entre as duas seqüências. Então, estamos utilizando o mesmo pedaço de código para C++. Atualizamos a função strncmp () aqui substituindo seu terceiro argumento. Substituímos 9 por 14 para comparar o total dos 14 primeiros caracteres de ambas as strings.

Após a compilação e execução de código atualizado, temos a saída mostrada abaixo. Como a string 1 é diferente da string 2, seus 10º Tela de personagens que ambas as cordas não são iguais após os 9 primeiros caracteres.

Exemplo 02:

Vamos dar uma olhada em outro exemplo da função strncmp () trabalhando em diferentes tipos de strings. Desta vez, estaremos dando uma olhada em duas mesmas seqüências de caracteres com casos diferentes. Então, iniciamos este exemplo com os mesmos cabeçalhos e namespace de C ++ antes da implementação da função principal (). Dentro do método main (), 2 seqüências de caracteres foram inicializadas com valores de string; Ambos são os mesmos em caracteres, mas diferentes em casos de tipo, eu.e. alto e baixo. O método strncmp () foi chamado para verificar se as duas seqüências são iguais aos 5 primeiros caracteres. A declaração "se-else" funcionará de acordo, eu.e. igual ou não igual. Vamos salvar e executar este código para ver que a atualização está funcionando corretamente ou não.

Nós compilamos este código primeiro e o executamos depois disso. Em troca, temos que as cordas não são iguais. Isso prova que a função strncmp () retorna 0 se e somente se ambas as strings forem iguais em caracteres e casos de tipo. Caso contrário, ele retornará um valor menor ou igual a 0.

Portanto, atualizamos os valores da string no código com as mesmas casos e caracteres de tipo. Após a inicialização da string, chamamos o método strncmp () para comparar a string até o último personagem. Adicionamos a declaração "if-else" aninhada aqui para verificar mais de 1 condição. Se o valor de retorno for igual a 0, retornará que as strings são iguais junto com a exibição do valor retornado. Caso contrário, se o valor de comparação retornado for maior ou menor que 0, ele agirá de acordo e exibirá esse valor de retorno em particular.

Após a compilação e a execução deste código atualizado, recebemos a mensagem "Strings são iguais" e o valor retornado, eu.e. 0.

Exemplo 03:

Fizemos com todos os exemplos usando a função strncmp () para ver se duas seqüências são iguais ou não. Estaremos olhando para o Strncmp () funcionar um pouco diferente desta vez. Utilizaremos uma corda grande e uma pequena corda no código. Então, temos iniciado nosso exemplo com o iostream e string.h bibliotecas de cabeçalho usando a palavra -chave "#include" com ambos. Depois de adicionar o espaço para nome, iniciamos a função principal () com duas variáveis ​​de string.

A String S1 contém mais de 5 caracteres, e a String S2 contém apenas 5. A função STRNCMP () foi executada com uma função simples chamada Passando as duas variáveis ​​para seu argumento. O número de caracteres a serem correspondentes é definido como 5. A função strncmp () comparará as duas variáveis ​​e retornará o resultado específico. Como nossa primeira string é maior em tamanho do que o 2nd string e não corresponde a 2nd string, portanto, a parte "else-se" da declaração para "i> 0" será executada. Em troca, exibirá que "S1 é maior que S2" junto com o valor retornado de "i" para vários caracteres incompatíveis.

Depois de executar este código no shell, obtivemos o resultado como esperado, eu.e. S1 é maior que S2, por outro lado, o valor de "i" é retornado como "32".

O código geral deste exemplo permanecerá o mesmo que fizemos no código acima. A única mudança que temos aqui é a troca de valores de string um com o outro. Agora, a string s2 é maior em tamanho que a string s1. Nesse caso, a última declaração mais deve ser executada. Vamos executar este código agora.

Após essa compilação e execução de código, vimos que a parte do código foi executada após a chamada de função strncmp (). Isso mostra que a primeira string é de tamanho menor que a outra string, enquanto nenhum dos personagens corresponde exatamente.

Conclusão:

Por fim, concluímos a explicação da função strncmp () de C ++ para comparar duas strings. Discutimos o método strncmp () com diferentes tipos de strings, eu.e. um maior que o outro em tamanho, mesmas cordas e cordas diferentes. As declarações simples e aninhadas “if-else” foram utilizadas até agora para fazer nosso código verificar condições diferentes para strings e valores retornados por um método strncmp (). Devido à simplicidade de nossos exemplos, esperamos que você ache fácil aprender e implementar.