Strcmp () -funktio C ++: ssa vertaa kahta nollaa päättävää merkkijonoa. Vertailu tehdään leksikografisesti.
strcmp () prototyyppi
int strcmp (const char * lhs, const char * rhs);
strcmp()
Funktio ottaa kaksi argumenttia: LHS ja RHS. Se vertaa lhs: n ja rhs: n sisältöä leksikografisesti. Tuloksen merkki on merkki eroista ensimmäisten merkkien parien välillä, jotka eroavat toisistaan lhs ja rhs.
Käyttäjä strcmp()
ei ole määritelty, jos jompikumpi lhs tai rhs eivät osoita nollaan päättyneitä merkkijonoja.
Se määritetään otsikkotiedostossa "> header file.
strcmp () -parametrit
lhs and rhs
: Nollan päättyneiden merkkijonojen osoitin vertailtavaksi.
strcmp () Palautusarvo
Funktio strcmp () palauttaa a:
- positiivinen arvo, jos ensimmäinen eroava merkki lhs on suurempi kuin vastaava merkki rhs.
- negatiivinen arvo, jos ensimmäinen eroava merkki lhs on pienempi kuin vastaava merkki rhs.
- 0, jos hs ja rhs ovat samat.
Esimerkki: Kuinka strcmp () -toiminto toimii
#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; )
Kun suoritat ohjelmaa, tulos on:
Armstrong edeltää armeijaa Armstrong ja Armstrong ovat samat