Funkcia memcmp () v C ++ porovnáva zadaný počet znakov dvoch ukazovateľových objektov
prototyp memcmp ()
int memcmp (const void * lhs, const void * rhs, počet_veľkosti);
memcmp()
Funkcia trvá tri argumenty: LHS, RHS a počítať. Táto funkcia najskôr interpretuje objekty, na ktoré ukazujú lhs a rhs, ako polia unsigned char
. Potom lexikograficky porovná prvé počty znakov lhs a rhs.
Je definované v hlavičkovom súbore.
parametre memcmp ()
lhs and rhs
: Ukazovateľ na pamäťové objekty na porovnanie.count
: Maximálny počet bajtov na porovnanie.
memcmp () Vrátená hodnota
Funkcia memcmp () vracia a:
- kladná hodnota, ak je prvý rozdielny bajt
lhs
väčší ako zodpovedajúci bajt v bajterhs
. - záporná hodnota, ak je prvý rozdielny bajt v
lhs
menšej veľkosti ako zodpovedajúci bajt vrhs
. - 0, ak je prvý počet bajtov rovný
lhs
arhs
rovná sa.
Príklad: Ako funguje funkcia memcmp ()
#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; )
Po spustení programu bude výstup:
Prvých 5 znakov Hello World! a Ahoj Zem! sú rovnaké Hello Earth! predchádza Hello World!