C ++ strncmp () - C ++ standaardbibliotheek

De functie strncmp () in C ++ vergelijkt een gespecificeerd aantal tekens van twee null-afsluitstrings. De vergelijking gebeurt lexicografisch.

strncmp () prototype

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

De strncmp()functie heeft twee argumenten: lhs, rhs en count. Het vergelijkt de inhoud van lhs en rhs lexicografisch tot een maximum van aantal karakters. Het teken van het resultaat is het teken van verschil tussen de eerste paren karakters die verschillen in lhs en rhs.

Het gedrag van strncmp()is ongedefinieerd als een van lhs of rhs niet naar null-beëindigde strings verwijst.

Het wordt gedefinieerd in header-bestand "> header-bestand.

strncmp () Parameters

  • lhs and rhs: Pointer naar de nul beëindigde strings om te vergelijken.
  • count: Maximaal aantal karakters om te vergelijken.

strncmp () Retourwaarde

De strncmp()functie retourneert een:

  • positieve waarde als het eerste verschillende karakter in lhs groter is dan het corresponderende karakter in rhs.
  • negatieve waarde als het eerste verschillende karakter in lhs kleiner is dan het corresponderende karakter in rhs.
  • 0 als de eerste telkarakters van lhs en rhs gelijk zijn.

Voorbeeld: hoe strncmp () functie werkt

 #include #include 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; )

Wanneer u het programma uitvoert, is de uitvoer:

 De eerste 3 karakters van Armstrong en Army zijn dezelfde Armstrong gaat voor Army

Interessante artikelen...