La comparaison des longueurs de chaîne est une fonction couramment utilisée dans la programmation C, car elle peut vous indiquer quelle chaîne a le plus de caractères. Cette fonction est très utile pour trier les données. La comparaison de chaînes nécessite une fonction spéciale; n'utilisez pas != ou ==.
Étape
Étape 1. Il existe 2 types de fonctions que vous pouvez utiliser pour comparer des chaînes en langage C
Ces deux fonctions sont incluses dans la bibliothèque.
- strcmp(): cette fonction compare deux chaînes et renvoie le résultat de la comparaison du nombre de caractères entre elles.
- strncmp(): cette fonction est la même que strcmp(), sauf qu'elle compare les n} premiers caractères de la chaîne. Cette fonction est considérée comme plus sûre car elle empêche le programme de caler en raison d'une surcharge.
Étape 2. Exécutez le programme avec les bibliothèques dont vous avez besoin
Nous vous recommandons d'exécuter and, ainsi que toutes les autres bibliothèques dont vous avez besoin pour un programme particulier.
#include #include
Étape 3. Exécutez une fonction
int. C'est le moyen le plus simple d'apprendre cette fonction, car elle renvoie la valeur entière d'une comparaison du nombre de caractères dans deux chaînes.
#include #include int main() { }
Étape 4. Définissez les deux chaînes que vous souhaitez comparer
Par exemple, nous comparerons 2 chaînes de données de type char qui ont été définies précédemment. Vous pouvez également définir la valeur renvoyée par cette fonction pour avoir le type de données integer.
#include #include int main() { char *str1 = "apple"; caractère *str2 = "orange"; int ret; }
Étape 5. Ajouter une fonction de comparaison
Une fois que vous avez défini ces deux chaînes, vous pouvez ajouter une fonction de comparaison. Nous utiliserons strncmp(), nous devrons donc nous assurer que le nombre de caractères à mesurer est défini dans la fonction.
#include #include int main() { char *str1 = "apple"; caractère *str2 = "orange"; int ret; ret = strncmp(str1, str2, 6); /*Cette fonction comparera les deux ''chaîne'' de 6 caractères */ }
Étape 6. Utilisez des instructions
Si… Sinon pour faire la comparaison. Après avoir ajouté une fonction à votre programme, vous pouvez utiliser une instruction pour afficher quelle chaîne contient le plus de caractères. strncmp() retournera 0 si les chaînes ont le même nombre de caractères, un nombre positif si str1 est plus long et un nombre négatif si str2 est plus long.
#include #include int main() { char *str1 = "apple"; caractère *str2 = "orange"; int ret; ret = strncmp(str1, str2, 6); if(ret > 0) { printf("str1 est plus long"); } else if(ret < 0) { printf("str2 est plus long"); } else { printf("Les deux chaînes ont la même longueur"); } return(0); }