Funkcia strncmp () v C ++ porovnáva zadaný počet znakov dvoch nulových zakončovacích reťazcov. Porovnanie sa robí lexikograficky.
prototyp strncmp ()
int strncmp (const char * lhs, const char * rhs, size_t count);
strncmp()
Funkcia má dva argumenty: LHS, RHS a počítať. Porovnáva obsah lhs a rhs lexikograficky až do maximálneho počtu znakov. Znak výsledku je znakom rozdielu medzi prvými pármi znakov, ktoré sa líšia v lhs a rhs.
Správanie strncmp()
sa nedefinuje, ak ani jedna z lhs, ani rhs neukazujú na null ukončené reťazce.
Je definované v hlavičkovom súbore.
strncmp () parametre
lhs and rhs
: Ukazovateľ na reťazce zakončené nulou, ktorý sa má porovnať.count
: Maximálny počet znakov na porovnanie.
strncmp () Vrátená hodnota
strncmp()
Funkcia vracia:
- kladná hodnota, ak je prvý odlišný znak v lhs väčší ako zodpovedajúci znak v rhs.
- záporná hodnota, ak je prvý odlišný znak v lhs menší ako zodpovedajúci znak v rhs.
- 0, ak sú prvé počítané znaky lhs a rhs rovnaké.
Príklad: Ako funguje funkcia strncmp ()
#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; )
Po spustení programu bude výstup:
Prvé 3 postavy Armstronga a armády sú rovnaké, ktoré Armstrong predchádza pred armádou