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