Funktionen strcmp () i C ++ sammenligner to nultermineringsstrenge. Sammenligningen foretages leksikografisk.
strcmp () prototype
int strcmp (const char * lhs, const char * rhs);
Den strcmp()
funktion har to argumenter: LHS og rhs. Det sammenligner indholdet af lhs og rhs leksikografisk. Resultatet er tegnet på forskellen mellem de første par tegn, der adskiller sig i lhs og rhs.
Opførslen af strcmp()
er udefineret, hvis en af lhs eller rhs ikke peger på nulterminerede strenge.
Det er defineret i header-fil "> header-fil.
strcmp () Parametre
lhs and rhs
: Markør til nulterminerede strenge til sammenligning.
strcmp () Returværdi
Funktionen strcmp () 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 hs og rhs er ens.
Eksempel: Hvordan fungerer strcmp () -funktionen
#include #include using namespace std; void display(char *lhs, char *rhs, int result) ( if(result> 0) cout << rhs << " precedes " << lhs << endl; else if (result < 0) cout << lhs << " precedes " << rhs << endl; else cout << lhs << " and " << rhs << " are same" << endl; ) int main() ( char lhs() = "Armstrong"; char rhs() = "Army"; int result; result = strcmp(lhs,rhs); display(lhs,rhs,result); result = strcmp(lhs,lhs); display(lhs,lhs,result); return 0; )
Når du kører programmet, vil output være:
Armstrong går foran Army Armstrong og Armstrong er ens