Funktionen strncmp () i C ++ sammenligner et specificeret antal tegn i to null-afsluttende strenge. Sammenligningen foretages leksikografisk.
strncmp () prototype
int strncmp (const char * lhs, const char * rhs, size_t count);
Den strncmp()
funktion har to argumenter: LHS, ha og tæller. Den sammenligner indholdet af lhs og rhs leksikografisk op til maksimalt antal tegn. Resultatet er tegnet på forskellen mellem de første par tegn, der adskiller sig i lhs og rhs.
Opførslen af strncmp()
er udefineret, hvis en af lhs eller rhs ikke peger på nulterminerede strenge.
Det er defineret i header-fil "> header-fil.
strncmp () Parametre
lhs and rhs
: Markør til nulterminerede strenge til sammenligning.count
: Maksimalt antal tegn, der skal sammenlignes.
strncmp () Returværdi
Den strncmp()
funktion returnerer en:
- positiv værdi, hvis den første forskellige karakter i lhs er større end den tilsvarende karakter i rhs.
- negativ værdi, hvis den første forskellige karakter i lhs er mindre end den tilsvarende karakter i rhs.
- 0, hvis det første antal tegn i lhs og rhs er ens.
Eksempel: Sådan fungerer 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ører programmet, vil output være:
De første 3 karakterer af Armstrong og Army er de samme Armstrong går forud for hæren