strncmp() : compare 2 parties de chaînes
Prototype:
int strncmp (const char *ch1, const char *ch2, size_t long);
dans: <string.h>
Description:
strcmp() effectue une comparaison des chaînes ch1 et ch2, en utilisant l'ordre lexicographique, mais uniquement sur leur 'long' premiers caractères.
Valeur renvoyée:
la valeur renvoyée est
- < 0 si restreintes à 'long' caractères, ch1 est avant ch2
- = 0 si les 'long' premiers caractères de ch1 sont les mêmes que ceux de ch2
- > 0 si restreintes à 'long' caractères, ch1 est après ch2
Voir aussi:
Portabilité:
Exemple:
#include
#include
void main(void) {
char *buf1 = "aab", *buf2 = "aac", *buf3 = "aabc";
int cmp;
cmp = strncmp(buf2,buf1,3); /* compare aac(buf2) et aab(buf1) */
if (cmp > 0) printf("sur 3 caractères: %s est plus grand que %s\n",buf2,buf1);
else if (cmp==0) printf("sur 3 caractères: %s est égalal à %s\n",buf2,buf1);
else printf("sur 3 caractères: %s est plus petit que %s\n",buf2,buf1);
cmp = strncmp(buf1,buf3,3); /* compare aab(buf1) et aab(buf3) */
if (cmp > 0) printf("sur 3 caractères: %s est plus grand que %s\n",buf1,buf3);
else if (cmp==0) printf("sur 3 caractères: %s est égal à %s\n",buf1,buf3);
else printf("sur 3 caractères: %s est plus petit que %s\n",buf1,buf3);
}