C ++ wcscoll () - biblioteka standardowa C ++

Funkcja wcscoll () w C ++ porównuje dwa ciągi zakończone znakiem null. Porównanie jest oparte na bieżących ustawieniach regionalnych zdefiniowanych przez kategorię LC_COLLATE.

Funkcja wcscoll () jest zdefiniowana w pliku nagłówkowym.

wcscoll () prototyp

 int wcscoll (const wchar_t * lhs, const wchar_t * rhs);

Funkcja wcscoll () przyjmuje dwa argumenty: lewy i prawy. Porównuje zawartość lhs i rhs w oparciu o bieżące ustawienia regionalne kategorii LC_COLLATE .

wcscoll () Parametry

  • lhs and rhs: Wskaźnik do szerokich ciągów zakończonych wartością zerową do porównania.

wcscoll () Wartość zwracana

Funkcja wcscoll () 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 wcscoll ()?

 #include #include #include using namespace std; void compare(const wchar_t* p1, const wchar_t* p2) ( if(wcscoll(p1, p2) < 0) wcout << p1 << L" precedes " << p2 < 0) wcout << p2 << L" precedes " << p1 << ''; else wcout << p2 << L" equals " << p1 << ''; ) int main() ( wchar_t str1() = L"årtist"; wchar_t str2() = L"äpple"; setlocale(LC_ALL, "en_US.utf8"); wcout << L"In the American locale: "; compare(str1, str2); setlocale(LC_ALL, "sv_SE.utf8"); wcout << L"In the Swedish locale: "; compare(str1, str2); return 0; )

Po uruchomieniu programu wynik będzie następujący:

 W języku amerykańskim: äpple poprzedza årtist W języku szwedzkim: årtist poprzedza äpple

Interesujące artykuły...