C ++ strncmp () - C ++ Standardbibliotek

Funktionen strncmp () i C ++ jämför ett specificerat antal tecken med två nollavslutande strängar. Jämförelsen görs lexikografiskt.

strncmp () prototyp

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

Den strncmp()funktionen tar två argument: LHS, RHS och räkna. Den jämför innehållet i lhs och rhs lexikografiskt upp till maximalt antal tecken. Tecknet på resultatet är skillnaden mellan de första paren av tecken som skiljer sig åt i lhs och rhs.

Uppförandet av strncmp()är odefinierat om någon av lhs eller rhs inte pekar på nollavslutade strängar.

Det definieras i rubrikfil "> rubrikfil.

strncmp () Parametrar

  • lhs and rhs: Pekare till nollavslutade strängar att jämföra.
  • count: Maximalt antal tecken att jämföra.

strncmp () Returvärde

Den strncmp()returnerar en:

  • positivt värde om det första skiljetecknet i lhs är större än motsvarande tecken i rhs.
  • negativt värde om det första skiljetecknet i lhs är mindre än motsvarande tecken i rhs.
  • 0 om de första tecknen i lhs och rhs är lika.

Exempel: Hur fungerar strncmp () -funktionen

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

När du kör programmet blir resultatet:

 De första 3 karaktärerna i Armstrong och Army är samma Armstrong föregår Army

Intressanta artiklar...