C ++ strncmp ()

prototype de strncmp ()

int strncmp (const char * lhs, const char * rhs, size_t count);

le strncmp() La fonction prend deux arguments:lhs, rhsetcompter. Il compare le contenu delhsetrhslexicographiquement jusqu’à un maximum de nombre de caractères. Le signe du résultat est le signe de la différence entre les premières paires de caractères qui diffèrent parlhsetrhs.

Le comportement de strncmp() est indéfini si l’un des éléments lhs ou rhs ne pointe pas vers des chaînes terminées nulles.

Il est défini dansEn tête de fichier.

Paramètres de strncmp ()

  •  lhs and rhs : Pointeur vers les chaînes terminées nulles à comparer.
  •  count : Nombre maximum de caractères à comparer.

strncmp () Valeur de retour

le strncmp() La fonction renvoie un:

  • valeur positive du premier caractère différent danslhsest supérieur au caractère correspondant dansrhs.
  • valeur négative si le premier caractère différent delhsest inférieur au caractère correspondant dansrhs.
  • 0 si le premier nombre de caractères delhsetrhssont égaux.

Exemple: fonctionnement de la fonction strncmp ()

 #include <cstring>
#include <iostream>

using namespace std;

void display(char *lhs, char *rhs, int result, int count)
{
if(result > 0)
cout << rhs << " precedes " << lhs << endl;
else if (result < 0)
cout << lhs << " precedes " << rhs << endl;
else
cout << "First " << count << " characters of " << lhs << " and " << rhs << " are same" << endl;
}

int main()
{
char lhs[] = "Armstrong";
char rhs[] = "Army";
int result;

result = strncmp(lhs,rhs,3);
display(lhs,rhs,result,3);

result = strncmp(lhs,rhs,4);
display(lhs,rhs,result,4);

return 0;
}