Funktio memcmp () C ++: ssa vertaa määritettyä määrää merkkejä kahdesta osoitinobjektista
memcmp () prototyyppi
int memcmp (const void * lhs, const void * rhs, size_t count);
memcmp()
Funktio ottaa kolme argumenttia: LHS, RHS ja laskea. Tämä toiminto tulkitsee ensin objektit, joihin lhs ja rhs osoittavat, taulukkoina unsigned char
. Sitten se vertaa lhs: n ja rhs: n ensimmäisiä laskumerkkejä leksikografisesti.
Se määritetään otsikkotiedostossa "> header file.
memcmp () -parametrit
lhs and rhs
: Vertailtavien muistikohteiden osoitin.count
: Vertailtavien tavujen enimmäismäärä.
memcmp () Palautusarvo
Memcmp () -funktio palauttaa a:
- positiivinen arvo, jos ensimmäinen erilainen tavu
lhs
on suurempi kuin vastaava tavurhs
. - negatiivinen arvo, jos ensimmäinen erilainen tavu
lhs
on pienempi kuin vastaava tavurhs
. - 0, jos ensimmäiset laskutavut ovat
lhs
jarhs
ovat yhtä suuria.
Esimerkki: Kuinka memcmp () -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() = "Hello World!"; char rhs() = "Hello Earth!"; int result; result = memcmp(lhs, rhs, 5); display(lhs, rhs, result, 5); result = memcmp(lhs, rhs, 7); display(lhs, rhs, result, 7); return 0; )
Kun suoritat ohjelmaa, tulos on:
Hello Worldin viisi ensimmäistä merkkiä! ja Hei maa! ovat samat Hello Earth! edeltää Hei maailma!