Funktionen wcscoll () i C ++ sammenligner to nulterminerede strenge. Sammenligningen er baseret på den aktuelle lokalitet defineret af kategorien LC_COLLATE.
Funktionen wcscoll () er defineret i headerfilen.
wcscoll () prototype
int wcscoll (const wchar_t * lhs, const wchar_t * rhs);
Funktionen wcscoll () tager to argumenter: lhs og rhs. Den sammenligner indholdet af lhs og rhs baseret på den aktuelle lokalitet i LC_COLLATE- kategorien.
wcscoll () Parametre
- lhs og rhs: Markør til nulterminerede brede strenge for at sammenligne.
wcscoll () Returværdi
Funktionen wcscoll () returnerer en:
- positiv værdi, hvis den første forskellige karakter i lhs er større end den tilsvarende karakter i rhs.
- negativ værdi, hvis den første forskellige karakter i lhs er mindre end den tilsvarende karakter i rhs.
- 0, hvis lhs og rhs er ens.
Eksempel: Hvordan fungerer wcscoll () -funktionen?
#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; )
Når du kører programmet, vil output være:
I det amerikanske sprog: äpple går forud for årtist På det svenske sprog: årtist går forud for äpple