C ++ wcsncmp () - C ++ standardowa biblioteka

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őļŌģƔ

Interesujące artykuły...