Strncmp () -funktio C ++: ssa vertaa määritettyä määrää merkkejä kahdesta nollasta päättyvään merkkijonoon. Vertailu tehdään leksikografisesti.
strncmp () prototyyppi
int strncmp (const char * lhs, const char * rhs, size_t count);
strncmp()
Funktio ottaa kaksi argumenttia: LHS, RHS ja laskea. Se vertaa lhs: n ja rhs: n sisältöä leksikografisesti enimmäismäärään merkkejä. Tuloksen merkki on merkki eroista ensimmäisten merkkien parien välillä, jotka eroavat toisistaan lhs ja rhs.
Käyttäjä strncmp()
ei ole määritelty, jos jompikumpi lhs tai rhs eivät osoita nollaan päättyneitä merkkijonoja.
Se määritetään otsikkotiedostossa "> header file.
strncmp () -parametrit
lhs and rhs
: Nollan päättyneiden merkkijonojen osoitin vertailtavaksi.count
: Vertailtavien merkkien enimmäismäärä.
strncmp () Palautusarvo
strncmp()
Funktio palauttaa:
- 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 lh: n ja rh: n ensimmäiset laskemerkit ovat yhtä suuret.
Esimerkki: Kuinka strncmp () -toiminto toimii
#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; )
Kun suoritat ohjelmaa, tulos on:
Armstrongin ja armeijan kolme ensimmäistä merkkiä ovat samat Armstrongia edeltävät armeijaa