Funkce strncmp () v C ++ porovnává zadaný počet znaků dvou null zakončovacích řetězců. Porovnání se provádí lexikograficky.
prototyp strncmp ()
int strncmp (const char * lhs, const char * rhs, size_t count);
strncmp()
Funkce má dva argumenty: LHS, RHS a počítat. Porovnává obsah lhs a rhs lexikograficky až do maximálního počtu znaků. Znamení výsledku je znamením rozdílu mezi prvními páry znaků, které se liší v lhs a rhs.
Chování strncmp()
je nedefinováno, pokud lhs nebo rhs neukazují na řetězce zakončené hodnotou null.
Je definován v hlavičkovém souboru.
strncmp () parametry
lhs and rhs
: Ukazatel na řetězce zakončené nulou k porovnání.count
: Maximální počet znaků k porovnání.
strncmp () Návratová hodnota
strncmp()
Funkce vrací:
- kladná hodnota, pokud je první odlišný znak v lhs větší než odpovídající znak v rhs.
- záporná hodnota, pokud je první odlišný znak v lhs menší než odpovídající znak v rhs.
- 0, pokud jsou první počitatelné znaky lhs a rhs stejné.
Příklad: Jak funguje funkce 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; )
Když spustíte program, výstup bude:
První 3 postavy Armstronga a Army jsou stejné Armstrong předchází Army