Comparar comprimentos de string é uma função comumente usada na programação C, porque pode dizer qual string tem mais caracteres. Esta função é muito útil na classificação de dados. Comparar strings requer uma função especial; não use! = ou ==.
Etapa
Etapa 1. Existem 2 tipos de funções que você pode usar para comparar strings na linguagem C
Ambas as funções estão incluídas na biblioteca.
- strcmp (): Esta função compara duas strings e retorna o resultado da comparação do número de caracteres entre elas.
- strncmp (): Esta função é a mesma que strcmp (), exceto que compara os primeiros n} caracteres na string. Esta função é considerada mais segura porque evita que o programa pare devido à sobrecarga.
Etapa 2. Execute o programa com as bibliotecas de que você precisa
Recomendamos que você execute e, junto com quaisquer outras bibliotecas de que precise para um programa específico.
#include #include
Etapa 3. Execute uma função
int. Esta é a maneira mais fácil de aprender esta função, porque ela retorna o valor inteiro de uma comparação do número de caracteres em duas strings.
#include #include int main () {}
Etapa 4. Defina as duas strings que deseja comparar
Por exemplo, compararemos 2 strings de dados do tipo char que foram definidos anteriormente. Você também pode definir o valor retornado por esta função para ter o tipo de dados inteiro.
#include #include int main () {char * str1 = "apple"; char * str2 = "laranja"; int ret; }
Etapa 5. Adicionar função de comparação
Depois de definir essas duas strings, você pode adicionar uma função de comparação. Estaremos usando strncmp (), portanto, precisamos ter certeza de que o número de caracteres a medir está configurado na função.
#include #include int main () {char * str1 = "apple"; char * str2 = "laranja"; int ret; ret = strncmp (str1, str2, 6); / * Esta função irá comparar ambos '' string '' de 6 caracteres * /}
Etapa 6. Use declarações
Se … Else para fazer a comparação. Depois de adicionar uma função ao seu programa, você pode usar uma instrução para exibir qual string tem mais caracteres. strncmp () retornará 0 se as strings tiverem o mesmo número de caracteres, um número positivo se str1 for mais longo e um número negativo se str2 for mais longo.
#include #include int main () {char * str1 = "apple"; char * str2 = "laranja"; int ret; ret = strncmp (str1, str2, 6); if (ret> 0) {printf ("str1 é mais longo"); } else if (ret <0) {printf ("str2 é mais longo"); } else {printf ("Ambas as strings têm o mesmo comprimento"); } return (0); }