Funkcija strncmp () v jeziku C ++ primerja določeno število znakov dveh ničelnih zaključnih nizov. Primerjava je narejena leksikografsko.
prototip strncmp ()
int strncmp (const char * lhs, const char * rhs, count_t count);
strncmp()
Funkcija ima dva argumenta: LHS, RHS in štetja. Leksikografsko primerja vsebino lhs in rhs do največ številskih znakov. Znak rezultata je znak razlike med prvimi pari znakov, ki se razlikujejo v lhs in rhs.
Obnašanje strncmp()
je nedefinirano, če kateri koli od lhs ali rhs ne kaže na ničelno zaključene nize.
Določen je v datoteki glave "> datoteka glave.
parametri strncmp ()
lhs and rhs
: Kazalec na ničelno zaključene nize za primerjavo.count
: Največje število znakov za primerjavo.
strncmp () Vrnjena vrednost
strncmp()
Funkcija vrne:
- pozitivna vrednost, če je prvi znak, ki se razlikuje v lhs, večji od ustreznega znaka v rhs.
- negativna vrednost, če je prvi razlikovalni znak v lhs manjši od ustreznega znaka v rhs.
- 0, če so znaki za prvo štetje lhs in rhs enaki.
Primer: Kako deluje funkcija 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; )
Ko zaženete program, bo rezultat:
Prvi trije znaki Armstronga in vojske so enaki Armstrongu pred Armijo