De functie strcmp () in C ++ vergelijkt twee null-terminatietekenreeksen. De vergelijking gebeurt lexicografisch.
strcmp () prototype
int strcmp (const char * lhs, const char * rhs);
De strcmp()
functie heeft twee argumenten: lhs en rhs. Het vergelijkt de inhoud van lhs en rhs lexicografisch. Het teken van het resultaat is het teken van verschil tussen de eerste paren karakters die verschillen in lhs en rhs.
Het gedrag van strcmp()
is ongedefinieerd als een van lhs of rhs niet naar null-beëindigde strings verwijst.
Het wordt gedefinieerd in header-bestand "> header-bestand.
strcmp () Parameters
lhs and rhs
: Pointer naar de nul beëindigde strings om te vergelijken.
strcmp () Retourwaarde
De functie strcmp () retourneert een:
- positieve waarde als het eerste verschillende karakter in lhs groter is dan het corresponderende karakter in rhs.
- negatieve waarde als het eerste verschillende karakter in lhs kleiner is dan het corresponderende karakter in rhs.
- 0 als hs en rhs gelijk zijn.
Voorbeeld: hoe strcmp () functie werkt
#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; )
Wanneer u het programma uitvoert, is de uitvoer:
Armstrong gaat voor Army Armstrong en Armstrong zijn hetzelfde