Funkcja wcscmp () w C ++ porównuje dwa szerokie łańcuchy kończące wartość null. Porównanie odbywa się leksykograficznie.
Funkcja wcscmp () jest zdefiniowana w pliku nagłówkowym.
wcscmp () prototyp
int wcscmp (const wchar_t * lhs, const wchar_t * rhs);
Funkcja wcscmp () przyjmuje dwa argumenty: lewy i prawy. Porównuje zawartość lhs i rhs leksykograficznie. Znak wyniku jest znakiem różnicy między pierwszymi parami znaków różniącymi się lewymi i prawymi.
Zachowanie wcscmp () jest niezdefiniowane, jeśli żaden z lhs lub rhs nie wskazuje na szerokie łańcuchy zakończone znakiem null.
wcscmp () Parametry
- lhs: Wskaźnik do szerokiego łańcucha zakończonego znakiem null do porównania.
- rhs: Wskaźnik do szerokiego łańcucha zakończonego wartością zerową do porównania.
wcscmp () Wartość zwracana
Funkcja wcscmp () zwraca:
- wartość dodatnia, jeśli pierwszy różniący się znak w lhs jest większy niż odpowiadający mu znak w prawostronnych.
- wartość ujemna, jeśli pierwszy różniący się znak w lhs jest mniejszy niż odpowiadający mu znak w prawostronnych.
- 0, jeśli lewa oś i prawa oś są równe.
Przykład: Jak działa funkcja wcscmp ()?
#include #include #include using namespace std; void compare(wchar_t *lhs, wchar_t *rhs) ( int result; result = wcscmp(lhs, rhs); if(result> 0) wcout << rhs << " precedes " << lhs << endl; else if (result < 0) wcout << lhs << " precedes " << rhs << endl; else wcout << lhs << " and " << rhs << " are same" << endl; ) int main() ( setlocale(LC_ALL, "en_US.utf8"); wchar_t str1() = L"u0102u0070ple"; wchar_t str2() = L"u00c4u01f7ple"; wchar_t str3() = L"u00c4u01a4ple"; compare(str1,str2); compare(str2,str3); return 0; )
Po uruchomieniu programu wynik będzie następujący:
ĘǷple poprzedza Ăpple ĘƤple poprzedza ĘǷple