Функцията wcscoll () в C ++ сравнява два нулево прекратени низа. Сравнението се основава на текущия локал, дефиниран от категорията LC_COLLATE.
Функцията wcscoll () е дефинирана в заглавния файл.
прототип на wcscoll ()
int wcscoll (const wchar_t * lhs, const wchar_t * rhs);
Функцията wcscoll () взема два аргумента: lhs и rhs. Той сравнява съдържанието на lhs и rhs въз основа на текущия локал на категорията LC_COLLATE .
wcscoll () Параметри
- lhs и rhs: указател към широките низове, прекратени с нула, за сравнение.
wcscoll () Върната стойност
Функцията wcscoll () връща:
- положителна стойност, ако първият различаващ се знак в lhs е по-голям от съответния знак в rhs.
- отрицателна стойност, ако първият различаващ се знак в lhs е по-малък от съответния знак в rhs.
- 0, ако lhs и rhs са равни.
Пример: Как работи функцията 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; )
Когато стартирате програмата, изходът ще бъде:
В американския локал: äpple предхожда rtist В шведския език: årtist пред äpple