A strncmp () függvény a C ++ - ban összehasonlítja két null végződő karakterlánc meghatározott számú karakterét. Az összehasonlítás lexikográfiailag történik.
strncmp () prototípus
int strncmp (const char * lhs, const char * rhs, size_t count);
A strncmp()
függvénynek két argumentuma van: lhs, rhs és count. Összehasonlítja az lhs és az rhs tartalmát lexikográfiailag legfeljebb a karakterek számáig. Az eredmény jele az első karakterpárok különbségének jele, amelyek lhs és rhs különböznek egymástól.
A (z) viselkedése strncmp()
nincs meghatározva, ha az lhs vagy az rhs nem mutat nullára végződött karakterláncokat.
A "header file"> header fájlban van meghatározva.
strncmp () Paraméterek
lhs and rhs
: Az nullával végződött karakterláncok összehasonlítója.count
: Az összehasonlítható karakterek maximális száma.
strncmp () Visszatérési érték
A strncmp()
függvény a:
- pozitív érték, ha az első eltérő karakter lh-ban nagyobb, mint a megfelelő karakter rh-ban.
- negatív érték, ha az első eltérő karakter lh-ben kisebb, mint az rhs-ben szereplő megfelelő karakter.
- 0, ha az lhs és rhs első számláló karakterei megegyeznek.
Példa: Hogyan működik az strncmp () függvény
#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; )
A program futtatásakor a kimenet a következő lesz:
Az Armstrong első három karaktere és a Army azonos Armstrong megelőzi a hadsereget