Le man de la fonction strncmp

🎯 Comparer deux chaînes sur un nombre limité de caractères.

⚙️ Prototype de strncmp

				
					int strncmp(const char *s1, const char *s2, size_t n);
				
			

🧑‍💻 Fonctionnement de strncmp

La fonction strncmp compare jusqu’à n caractères des chaînes s1 et s2. Contrairement à strcmp, strncmp vous permet de limiter le nombre de caractères comparés, ce qui est utile lorsque vous ne souhaitez comparer qu’une portion des chaînes. La comparaison se fait en utilisant les valeurs ASCII des caractères, jusqu’à ce qu’une différence soit trouvée ou que n caractères aient été comparés.

Paramètres :

  • s1 : Pointeur vers la première chaîne de caractères.
  • s2 : Pointeur vers la seconde chaîne de caractères.
  • n : Nombre maximum de caractères à comparer.

Retour :

  • Un entier négatif si s1 est inférieure à s2 dans les n premiers caractères.
  • Zéro si les n premiers caractères de s1 et s2 sont égaux.
  • Un entier positif si s1 est supérieure à s2 dans les n premiers caractères.

Remarques :

  • strncmp est souvent utilisé pour comparer des parties spécifiques de chaînes, par exemple pour vérifier des préfixes ou pour valider que les premiers caractères de deux chaînes correspondent.
  • Attention : Si n est supérieur à la longueur des deux chaînes, strncmp comparera jusqu’à la fin de la chaîne la plus courte. Si les chaînes sont de longueurs différentes mais commencent par la même séquence, la chaîne la plus courte sera considérée comme inférieure.

✨ Exemple d'utilisation de strcmp

Comparer les préfixes de deux chaînes : ici, strncmp est utilisé pour vérifier si les 10 premiers caractères des chemins sont identiques, ce qui est utile pour des opérations qui dépendent de la similarité des chemins ou des identifiants partiels.

				
					char path1[] = "/home/user/docs";
char path2[] = "/home/user/music";

if (strncmp(path1, path2, 10) == 0) {
    printf("Les 10 premiers caractères des chemins sont identiques.\n");
} else {
    printf("Les chemins diffèrent dans les 10 premiers caractères.\n");
}
				
			

Voir aussi :

  • strcmp : Compare deux chaînes de caractères jusqu’à la première différence ou jusqu’au caractère nul \0.
  • strcpy : Copie une chaîne de caractères dans une autre.
  • strncpy : Copie un nombre limité de caractères d’une chaîne dans une autre.
  • memcmp : Compare deux zones de mémoire sur un nombre spécifié de bytes.
  • strlen : Calcule la longueur d’une chaîne de caractères.
Retour en haut