Funkcja wcsncmp () w C ++ porównuje określoną liczbę szerokich znaków dwóch szerokich ciągów kończących wartość null. Porównanie odbywa się leksykograficznie.
Funkcja wcsncmp () jest zdefiniowana w pliku nagłówkowym.
Prototyp wcsncmp ()
int wcsncmp (const wchar_t * lhs, const wchar_t * rhs, size_t count);
Funkcja wcsncmp () przyjmuje dwa argumenty: lhs, rhs i count. Porównuje zawartość lhs i rhs leksykograficznie do maksymalnej liczby szerokich znaków.
Znak wyniku jest znakiem różnicy między pierwszymi parami szerokich znaków, które różnią się lewą i prawą osią.
Zachowanie wcsncmp () jest nieokreślone, jeśli żaden z lhs lub rhs nie wskazuje na szerokie łańcuchy zakończone znakiem null.
wcsncmp () Parametry
- lhs: Wskaźnik do jednego z szerokich ciągów zakończonych wartością zerową do porównania.
- rhs: Wskaźnik do jednego z szerokich ciągów zakończonych wartością zerową do porównania.
- count: maksymalna liczba szerokich znaków do porównania.
wcsncmp () Wartość zwracana
Funkcja wcsncmp () zwraca:
- wartość dodatnia, jeśli pierwszy różniący się szeroki znak w lhs jest większy niż odpowiadający mu znak szeroki w prawostronnych.
- wartość ujemna, jeśli pierwszy różniący się szeroki znak w lhs jest mniejszy niż odpowiadający mu znak szeroki w prawostronnych.
- 0, jeśli pierwsza liczba szerokich znaków z lewej i prawej strony jest równa.
Przykład: Jak działa funkcja wcsncmp ()?
#include #include #include using namespace std; void compare(wchar_t *lhs, wchar_t *rhs, int count) ( int result; result = wcsncmp(lhs, rhs, count); if(result> 0) wcout << rhs << " precedes " << lhs << endl; else if (result < 0) wcout << lhs << " precedes " << rhs << endl; else wcout << L"First " << count << L" characters of " << lhs << L" and " << rhs <
When you run the program, the output will be:
First 4 characters of ŦēċħʼnőļŌģƔ and Ŧēċħnology are same Ŧēċħnology precedes ŦēċħʼnőļŌģƔ