Funkcia strcmp () v C ++ porovnáva dva prázdne zakončovacie reťazce. Porovnanie sa robí lexikograficky.
prototyp strcmp ()
int strcmp (const char * lhs, const char * rhs);
strcmp()
Funkcia má dva argumenty: LHS a RHS. Lexikograficky porovnáva obsah lhs a rhs. Znak výsledku je znakom rozdielu medzi prvými pármi znakov, ktoré sa líšia v lhs a rhs.
Správanie strcmp()
sa nedefinuje, ak ani jedna z lhs, ani rhs neukazujú na null ukončené reťazce.
Je definované v hlavičkovom súbore.
parametre strcmp ()
lhs and rhs
: Ukazovateľ na reťazce zakončené nulou, ktorý sa má porovnať.
strcmp () Vrátená hodnota
Funkcia strcmp () vracia a:
- kladná hodnota, ak je prvý odlišný znak v lhs väčší ako zodpovedajúci znak v rhs.
- záporná hodnota, ak je prvý odlišný znak v lhs menší ako zodpovedajúci znak v rhs.
- 0, ak sú hs a rhs rovnaké.
Príklad: Ako funguje funkcia strcmp ()
#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; )
Po spustení programu bude výstup:
Armstrong predchádza Army Armstrong a Armstrong sú rovnakí